sql存儲(chǔ)過(guò)程詳解
1,不帶參數(shù)的存儲(chǔ)過(guò)程
2,帶輸入?yún)?shù)的存儲(chǔ)過(guò)程
3,帶輸入和輸出參數(shù)的存儲(chǔ)過(guò)程
4,帶返回值的存儲(chǔ)過(guò)程
不帶參數(shù)的存儲(chǔ)過(guò)程
例如,以下存儲(chǔ)過(guò)程返回Employees表中所有職員的記錄。
存儲(chǔ)過(guò)程代碼:
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
調(diào)用代碼:
USE TSQLFundamentals2008; GO -- 1,不帶參數(shù)存儲(chǔ)過(guò)程的調(diào)用 EXEC usp_ProcDemoNoParam;
結(jié)果:

可以看到,共返回了9條記錄。
帶輸入?yún)?shù)的存儲(chǔ)過(guò)程
例如,該存儲(chǔ)過(guò)程接受輸入?yún)?shù)@empid,然后返回這個(gè)職員的信息。
創(chuàng)建存儲(chǔ)過(guò)程代碼:
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
調(diào)用:
-- 2,帶輸入?yún)?shù)存儲(chǔ)過(guò)程調(diào)用 EXEC usp_ProcDemoWithInputParam @empid=5;
結(jié)果:

帶輸入和輸出參數(shù)的存儲(chǔ)過(guò)程
例如,以下存儲(chǔ)過(guò)程接受@empid即職員ID作為輸入?yún)?shù),然后返回該職員的信息,同時(shí)返回代碼受影響行數(shù)作為輸出參數(shù)。
創(chuàng)建存儲(chǔ)過(guò)程代碼:
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
調(diào)用:
-- 3,帶輸入和輸出參數(shù)存儲(chǔ)過(guò)程的調(diào)用 DECLARE @nums AS INT; EXEC usp_ProcDemoWithInputOutputParam @empid=5,@NumRowsAffected= @nums OUTPUT; SELECT @nums AS nums;
結(jié)果:

帶返回值的存儲(chǔ)過(guò)程
例如,以下存儲(chǔ)過(guò)程接受@empid即職員ID作為輸入?yún)?shù),然后判斷職員表中是否存在該職員的記錄,如果存在則返回1,否則返回0.
創(chuàng)建存儲(chǔ)過(guò)程代碼:
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; -- 也可以聲明一個(gè)變量,然后返回這個(gè)變量
END
GO
調(diào)用:
-- 4,帶返回值存儲(chǔ)過(guò)程的調(diào)用 DECLARE @status AS INT=0; --給默認(rèn)值為0 EXEC @status= dbo.usp_ProcDemoWithReturnValue @empid = 5 -- int SELECT @status AS thestatus;
結(jié)果:

- Sql Server中的用戶名和登錄名
- MSSQL監(jiān)控?cái)?shù)據(jù)庫(kù)的DDL操作(創(chuàng)建,修改,刪除存儲(chǔ)過(guò)程,創(chuàng)建,修改,刪除表等)
- PHP得到mssql的存儲(chǔ)過(guò)程的輸出參數(shù)功能實(shí)現(xiàn)
- MSSQL MySQL 數(shù)據(jù)庫(kù)分頁(yè)(存儲(chǔ)過(guò)程)
- mssql存儲(chǔ)過(guò)程表名和字段名為變量的實(shí)現(xiàn)方法
- MSSQL存儲(chǔ)過(guò)程學(xué)習(xí)筆記一 關(guān)于存儲(chǔ)過(guò)程
- 實(shí)例學(xué)習(xí)mssql存儲(chǔ)過(guò)程分析
- MySQL 存儲(chǔ)過(guò)程中執(zhí)行動(dòng)態(tài)SQL語(yǔ)句的方法
- sqlserver存儲(chǔ)過(guò)程語(yǔ)法詳解
- MSSQL事務(wù)的存儲(chǔ)過(guò)程
相關(guān)文章
SQLServer2000 報(bào)1053錯(cuò)誤(服務(wù)沒(méi)有及時(shí)響應(yīng)或控制請(qǐng)求)的解決方法
發(fā)生錯(cuò)誤 1053-(服務(wù)沒(méi)有及時(shí)響應(yīng)或控制請(qǐng)求。),此時(shí)正在 MSSQLServer 服務(wù)上執(zhí)行該服務(wù)操作。我立即上網(wǎng)查找相關(guān)信息,看見(jiàn)有人說(shuō)是更改windows用戶密碼后便出現(xiàn)此類(lèi)問(wèn)題,但說(shuō)得都不是很明白,所以自己想總結(jié)一下2013-06-06
SQL Server游標(biāo)的使用/關(guān)閉/釋放/優(yōu)化小結(jié)
游標(biāo)打破了這一查詢的思考是面向集合的規(guī)則,游標(biāo)使得我們思考方式變?yōu)橹鹦羞M(jìn)行,接下來(lái)為大家介紹下游標(biāo)的使用感興趣的朋友可以參考下哈,希望可以幫助到你2013-03-03
動(dòng)態(tài)給表添加刪除字段并同時(shí)修改它的插入更新存儲(chǔ)過(guò)程
有一個(gè)表,用戶需要在后臺(tái)操作它,希望能對(duì)它動(dòng)態(tài)進(jìn)行添加刪除字段2011-11-11
SqlServer使用 case when 解決多條件模糊查詢問(wèn)題
這篇文章主要介紹了SqlServer使用 case when 解決多條件模糊查詢問(wèn)題 的相關(guān)資料,需要的朋友可以參考下2015-12-12
SQL SERVER 2014 安裝圖解教程(含SQL SERVER 2014下載)
這篇文章主要介紹了SQL SERVER 2014 安裝圖解教程(含SQL SERVER 2014下載),需要的朋友可以參考下2015-10-10
SQL語(yǔ)句中含有乘號(hào)報(bào)錯(cuò)的處理辦法
這篇文章主要介紹了SQL語(yǔ)句中含有乘號(hào)報(bào)錯(cuò)的處理辦法,需要的朋友可以參考下2014-08-08
Sqlserver 自定義函數(shù) Function使用介紹
這篇文章主要介紹了Sqlserver 自定義函數(shù) Function使用介紹,在sqlserver2008中有3中自定義函數(shù):標(biāo)量函數(shù)/內(nèi)聯(lián)表值函數(shù)/多語(yǔ)句表值函數(shù),需要的朋友可以參考下2016-10-10
SQL Server清除日志文件ERRORLOG和刪除tempdb.mdf
數(shù)據(jù)庫(kù)再使用一段時(shí)間后,日志文件會(huì)增大,特別是在磁盤(pán)容量不足的情況下,更是需要縮減,以下為縮減方法:如果可以停止 SQL Server 服務(wù),那么可以采取更直接的方式來(lái)縮減 ERRORLOG 和 tempdb.mdf 文件的大小,2025-03-03

