MySQL儲存過程 (1)

2022-08-30 18:18:12 字數 1573 閱讀 8959

/*

引數模式:

in:該引數作為輸入,該引數呼叫傳入值

out:該引數作為輸出,該引數作為返回值

inout:該引數即可作為輸入,也可作為輸出,該引數即可呼叫傳入值,也可作為返回值

delimiter:設定結束標記,比如 //、$、#

delimiter #

*/1、不帶引數儲存過程

delimiter //

create procedure mies()

begin

select * from student ;

end//

drop procedure mies();

call mies();

2、帶引數 in 儲存過程

delimiter //

/*傳入引數,設定引數型別*/

create procedure mies(in sid int)

begin

select * from student where sid=sno;

end//

drop procedure mies();

/*設定引數值*/

set @sid=20162010;

call mies(@sid);

/*登入使用者名稱*/

delimiter //

create procedure login(in sno int,in sname varchar(16))

begin

declare result int default 0;#宣告並初始化

select count(*) into result from student #賦值

where student.sno=sno and student.sname=sname;

select if(result>0,'成功','失敗');

end//

call login(20162002,'晨晨')

/*使用inout函式*/

delimiter //

create procedure inouta(inout a int,inout b int)

begin

set a=a*2;

set b=b*6;

end//

/*首先定義兩個變數

其次給變數賦值

最後選擇要列印的結果

*/set @m=6;

set @n=8;

call inouta(@m,@n)

select @m,@n

/*使用in,out函式*/

delimiter //

create procedure info(in sno int,out sname varchar(16),out sage int)

begin

select student.sname,student.sage into sname,sage

from student

where student.sno=sno;

end//

call info(20162002,@m,@n)

select @m,@n

Mysql 儲存過程1

儲存過程的優勢 1,一般的sql命令在執行前需要解析 編譯前提準備過程,但是儲存 過程是事先完成了解析,編譯處理後儲存在資料庫的,執行時能減輕 資料庫負擔,提高執行效能。2,減輕網路負擔,之前的傳遞sql語句,變成現在的傳遞引數。3,防止對錶的直接訪問。4,可以減少大部分的程式 5,msyql5.0...

mysql儲存過程(1)

1 in引數的理解 delimiter cre atep roce dure sele ctus er1 inus erid int begi nsel ect from tuse rwhe reid us erid end create procedure selectuser1 in useri...

mysql高階 儲存過程 1

在一起的語言,叫做 過程 php中沒有過程,只有函式,準確的說.函式能起到過程的作用 過程 就是封裝語句,呼叫的時候,這些封裝體執行 函式是有返回值的過程,而過程沒有返回值的函式 過程 把若干條sql封裝起來,起個名字就是過程 儲存過程 把此過程存在資料庫中,叫做儲存過程 匿名過程 mysql 不支...