你創(chuàng)建一個(gè)存儲(chǔ)過程C
成都創(chuàng)新互聯(lián)公司是專業(yè)的寧津網(wǎng)站建設(shè)公司,寧津接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行寧津網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
先執(zhí)行存儲(chǔ)過程A,并得到返回值
再判斷返回值執(zhí)行存儲(chǔ)過程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)
首先在運(yùn)行輸入 cmd
這樣便打開了命令提示符,如下:
打開了之后在此輸入 mysql -h你的IP或者花生殼的賬戶 -uroot -p該數(shù)據(jù)庫的密碼
例如:mysql -h30.158.59.78 -uroot -pabc123
mysql -htom.xicp.net -uroot -pabc123
php調(diào)用mysql存儲(chǔ)過程和函數(shù)的方法
存儲(chǔ)過程和函數(shù)是MySql5.0剛剛引入的。關(guān)于這方面的操作在PHP里面沒有直接的支持。但是由于Mysql PHP API的設(shè)計(jì),使得我們可以在以前的PHP版本中的mysql php api中支持存儲(chǔ)過程和函數(shù)的調(diào)用。
在php中調(diào)用存儲(chǔ)過程和函數(shù)。
1。調(diào)用存儲(chǔ)過程的方法。
a。如果存儲(chǔ)過程有 IN/INOUT參數(shù),聲明一個(gè)變量,輸入?yún)?shù)給存儲(chǔ)過程,該變量是一對,
一個(gè)php變量(也可以不必,只是沒有php變量時(shí),沒有辦法進(jìn)行動(dòng)態(tài)輸入),一個(gè)Mysql
變量。
b。如果存儲(chǔ)過程有OUT變量,聲明一個(gè)Mysql變量。
mysql變量的聲明比較特殊,必須讓mysql服務(wù)器知道此變量的存在,其實(shí)也就是執(zhí)行一條mysql語句。
入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()執(zhí)行mysql 變量聲明語句。
mysql_query("set @mysqlvar=$pbpvar");
這樣,在mysql服務(wù)器里面就有一個(gè)變量,@mysqlar。如果是IN參數(shù),那么其值可以由phpar傳入。
d。 如果是存儲(chǔ)過程。
1。執(zhí)行 call procedure()語句。
也就是mysql_query("call proceduer([var1]...)");
2. 如果有返回值,執(zhí)行select @ar,返回執(zhí)行結(jié)果。
mysql_query("select @var)"
接下來的操作就和php執(zhí)行一般的mysql語句一樣了。可以通過mydql_fetch_row()等函數(shù)獲得結(jié)果。
如果時(shí)函數(shù)。 直接執(zhí)行 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];
調(diào)用mysql存儲(chǔ)或稱 - mybatis調(diào)用mysql的存儲(chǔ)過程(procedure),實(shí)現(xiàn)查詢...
2021年1月19日step1:在mysqlcmd中新建存儲(chǔ)過程: drop procedure ifexists queryCountByGrade ; delimiter//-- 定義存儲(chǔ)過程結(jié)束符號(hào)為// create procedure qu..