以一個最簡單的查詢語句的存儲過程為例:
mysql 版:
********不帶參數版********
create PROCEDURE queryStaffProc() ----注意此處,就算是沒有參數,也要加(),如果有參數輸入或者輸出,就寫在()中
BEGIN
select * from tb_staff ;
END
call queryStaffProc; ---注意此處,調用要用call
**********帶輸入參數版*************
create PROCEDURE queryStaffProc(IN p_StaffNo VARCHAR(20))---括號中可以傳入多個參數
BEGIN
select * from tb_staff where StaffNo=p_StaffNo ;
END
call queryStaffProc (‘admin’); ---傳入參數
**********帶輸出參數版*************
create PROCEDURE queryStaffProc(IN p_StaffNo VARCHAR(20),out p_StaffName VARCHAR(20)) --注意輸入參數是in,輸出參數是out
BEGIN
select StaffName into p_StaffName from tb_staff where StaffNo=p_StaffNo ; ---將要輸出的內容賦值給輸出參數
END
call queryStaffProc ('admin',@staffName); --傳入兩個參數
select @staffName ---獲取值
Sql server 版:
*******不帶參數版********
create PROCEDURE queryStaffProc --注意此處,不帶(),如果需要定義參數,在下方定義
AS
create PROCEDURE queryStaffProc --注意此處,不帶(),如果需要定義參數,在下方定義
AS
declare @p_StaffNo varchar(20)
create PROCEDURE queryStaffProc --注意此處,不帶(),如果需要定義參數,在下方定義
AS
@p_StaffNo varchar(20),
@p_StaffName varchar(20) output --輸出參數