1、創建存儲過程 調用上述存儲過程(CALL語句調用一個先前用CREATE PROCEDURE創建的程式) 註意: 指定參數為IN, OUT, 或INOUT 只對PROCEDURE是合法的。(FUNCTION參數總是被認為是IN參數)指定參數為IN, OUT, 或INOUT 只對PROCEDURE是 ...
1、創建存儲過程
drop procedure if exists num; DELIMITER | create procedure num(out s int) begin select count(*) from book; end;
調用上述存儲過程(CALL語句調用一個先前用CREATE PROCEDURE創建的程式)
set @s=0;
call num(@s);
註意: 指定參數為IN, OUT, 或INOUT 只對PROCEDURE是合法的。(FUNCTION參數總是被認為是IN參數)指定參數為IN, OUT, 或INOUT 只對PROCEDURE是合法的。(FUNCTION參數總是被認為是IN參數)
RETURNS字句只能對FUNCTION做指定,對函數而言這是強制的。它用來指定函數的返回類型,而且函數體必須包含一個RETURN value語句。
CALL語句可以用聲明為OUT或的INOUT參數的參數給它的調用者傳回值。它也“返回”受影響的行數,客戶端程式可以在SQL級別通過調用ROW_COUNT()函數獲得這個數,從C中是調用the mysql_affected_rows() C API函數來獲得。
2、查看存儲過程
show create procedure num;
3、刪除存儲過程
drop procedure num;
4、查看存儲過程狀態
show procedure status;
或
show procedure status like 'num%';