你创建一个存储过程C
成都创新互联专注于奎文企业网站建设,成都响应式网站建设公司,商城开发。奎文网站建设公司,为奎文等地区提供建站服务。全流程定制网站设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
先执行存储过程A,并得到返回值
再判断返回值执行存储过程B
例如:
mysql
\d
//
mysql
create
procedure
test(v_name
char(20),out
v_id
int)
-
BEGIN
-
SELECT
id
into
v_id
from
t1
WHERE
name=v_name;
-
END;
-
//
mysql
create
procedure
test1(v_id
int,out
v_name
char(20))
-
BEGIN
-
SELECT
name
into
v_name
from
t2
where
id=v_id;
-
END;
-
//
mysql
create
procedure
test2(inout
v_name
char(20))
-
BEGIN
-
DECLARE
v_id
int;
-
CALL
test(v_name,v_id);
-
CALL
test1(v_id,v_name);
-
END;
-
//
mysql
set
@aa='xx‘//
Query
OK,
rows
affected
(0.00
sec)
mysql
call
test2(@aa)
//
Query
OK,
rows
affected
(0.01
sec)
mysql
select
@aa//
+------+
|
@aa
|
+------+
|
x2
|
+------+
1
row
in
set
(0.00
sec)
mysql调试存储过程具体方法:
在你的存储过程中加入如下语句:
SELECT 变量1,变量2;
然后用mysql自带的cmd程序进入mysql 下。
call 你的存储过程名(输入参数1,@输出参数);(注:这里帮助下新同学,如果你的存储过程有输出变量,那么在这里只需要加 @ 然后跟任意变量名即可);
即可发现你的变量值被打印到了cmd下
CALL。
1、mysql存储过程是用CALL命令执行的。
2、存储过程就是事先经过编译并存储在数据库中的一段 SQL 语句的集合。调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。
调用mysql存储或称 - mybatis调用mysql的存储过程(procedure),实现查询...
2021年1月19日step1:在mysqlcmd中新建存储过程: drop procedure ifexists queryCountByGrade ; delimiter//-- 定义存储过程结束符号为// create procedure qu..
php调用mysql存储过程和函数的方法
存储过程和函数是MySql5.0刚刚引入的。关于这方面的操作在PHP里面没有直接的支持。但是由于Mysql PHP API的设计,使得我们可以在以前的PHP版本中的mysql php api中支持存储过程和函数的调用。
在php中调用存储过程和函数。
1。调用存储过程的方法。
a。如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对,
一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql
变量。
b。如果存储过程有OUT变量,声明一个Mysql变量。
mysql变量的声明比较特殊,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。
入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。
mysql_query("set @mysqlvar=$pbpvar");
这样,在mysql服务器里面就有一个变量,@mysqlar。如果是IN参数,那么其值可以由phpar传入。
d。 如果是存储过程。
1。执行 call procedure()语句。
也就是mysql_query("call proceduer([var1]...)");
2. 如果有返回值,执行select @ar,返回执行结果。
mysql_query("select @var)"
接下来的操作就和php执行一般的mysql语句一样了。可以通过mydql_fetch_row()等函数获得结果。
如果时函数。 直接执行 select function() 就可以了。
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=mysql_connect($host,$user,$password)
or die("can't connect to mysql");
mysql_select_db($db,$dblink)
or die("can't select samp_db");
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
echo $row[0];