傳入參數
舉個栗子:根據id查name 參數:myid,定義方式和java中的函數類似,in 變量名 變量類型;
CREATE PROCEDURE teste(in myid int)
BEGIN
declare myname VARCHAR(10) default '';
select pname into myname from person where pid =myid;
select myname;
end
調用的時候直接call teste(2);
傳出參數 out 變量名 類型
CREATE PROCEDURE teste(in myid int,out myname varchar(10))
BEGIN
select pname into myname from person where pid =myid;
end
調用,當需要傳入參數的時候,需要先設置傳入參數,可以初始化一下,用於接收返回值。並且作為參數給函數使用
set @pname := '';
call teste(2,@pname);
select @pname;
還有一些參數又是傳入,還是傳出參數,用inout定義
CREATE PROCEDURE `teste`(inout myname varchar(10))
BEGIN
select CONCAT((select pname from person where pname = myname),"_來自地球") into myname;
end
調用如下:
將能查到的name后加上來自地球這樣的字符串。當然,一般存儲過程中可以做更多操作。