1,不帶參數(shù)的存儲過程
2,帶輸入?yún)?shù)的存儲過程
3,帶輸入和輸出參數(shù)的存儲過程
4,帶返回值的存儲過程
不帶參數(shù)的存儲過程
例如,以下存儲過程返回Employees表中所有職員的記錄。
存儲過程代碼:
USE TSQLFundamentals2008;
GO
IF OBJECT_ID('usp_ProcDemoNoParam','P') IS NOT NULL DROP PROC usp_ProcDemoNoParam;
GO
-- 1,不帶參數(shù)
CREATE PROC usp_ProcDemoNoParam
AS
BEGIN
SELECT * FROM HR.Employees;
END
GO
調用代碼:
USE TSQLFundamentals2008;
GO
-- 1,不帶參數(shù)存儲過程的調用
EXEC usp_ProcDemoNoParam;
結果:
可以看到,共返回了9條記錄。
帶輸入?yún)?shù)的存儲過程
例如,該存儲過程接受輸入?yún)?shù)@empid,然后返回這個職員的信息。
創(chuàng)建存儲過程代碼:
IF OBJECT_ID('usp_ProcDemoWithInputParam','P') IS NOT NULL DROP PROC usp_ProcDemoWithInputParam;
GO
-- 2,帶輸入?yún)?shù)
CREATE PROC usp_ProcDemoWithInputParam
@empid AS INT
AS
BEGIN
SELECT * FROM HR.Employees
WHERE empid= @empid;
END
GO
調用:
-- 2,帶輸入?yún)?shù)存儲過程調用
EXEC usp_ProcDemoWithInputParam @empid=5;
結果:
帶輸入和輸出參數(shù)的存儲過程
例如,以下存儲過程接受@empid即職員ID作為輸入?yún)?shù),然后返回該職員的信息,同時返回代碼受影響行數(shù)作為輸出參數(shù)。
創(chuàng)建存儲過程代碼:
IF OBJECT_ID('usp_ProcDemoWithInputOutputParam','P') IS NOT NULL DROP PROC usp_ProcDemoWithInputOutputParam;
GO
-- 3,帶輸入和輸出參數(shù)
CREATE PROC usp_ProcDemoWithInputOutputParam
@empid AS INT,
@NumRowsAffected AS INT OUTPUT
AS
BEGIN
SELECT * FROM HR.Employees
WHERE empid= @empid;
SET @NumRowsAffected= @@ROWCOUNT; -- 賦值,也可以使用select賦值
END
GO
調用:
-- 3,帶輸入和輸出參數(shù)存儲過程的調用
DECLARE @nums AS INT;
EXEC usp_ProcDemoWithInputOutputParam @empid=5,@NumRowsAffected= @nums OUTPUT;
SELECT @nums AS nums;
結果:
帶返回值的存儲過程
例如,以下存儲過程接受@empid即職員ID作為輸入?yún)?shù),然后判斷職員表中是否存在該職員的記錄,如果存在則返回1,否則返回0.
創(chuàng)建存儲過程代碼:
IF OBJECT_ID('usp_ProcDemoWithReturnValue','P') IS NOT NULL DROP PROC usp_ProcDemoWithReturnValue;
GO
-- 4,帶返回值
CREATE PROC usp_ProcDemoWithReturnValue
@empid AS INT
AS
BEGIN
IF EXISTS (SELECT * FROM HR.Employees WHERE empid=@empid)
RETURN 1
ELSE
RETURN 0; -- 也可以聲明一個變量,然后返回這個變量
END
GO
調用:
-- 4,帶返回值存儲過程的調用
DECLARE @status AS INT=0; --給默認值為0
EXEC @status= dbo.usp_ProcDemoWithReturnValue @empid = 5 -- int
SELECT @status AS thestatus;
結果:
您可能感興趣的文章:- mssql使用存儲過程破解sa密碼
- MSSQL監(jiān)控數(shù)據(jù)庫的DDL操作(創(chuàng)建,修改,刪除存儲過程,創(chuàng)建,修改,刪除表等)
- PHP得到mssql的存儲過程的輸出參數(shù)功能實現(xiàn)
- MSSQL MySQL 數(shù)據(jù)庫分頁(存儲過程)
- mssql存儲過程表名和字段名為變量的實現(xiàn)方法
- MSSQL存儲過程學習筆記一 關于存儲過程
- 實例學習mssql存儲過程分析
- MySQL 存儲過程中執(zhí)行動態(tài)SQL語句的方法
- sqlserver存儲過程語法詳解
- MSSQL事務的存儲過程