1. 程式人生 > 實用技巧 >資料庫 儲存過程

資料庫 儲存過程

當一個T-SQL程式塊需要多次執行時,應該考慮使用儲存過程來解決。T-SQL中的儲存過程,非常類似於高階語言中的方法,它可以重複呼叫。當儲存過程執行一次後,可以將語句放入快取中,這樣下次執行的時候直接使用快取中的語句,通過這種方式可以提高儲存過程的效能。

儲存過程特點

建立無參儲存過程

--建立一個儲存過程,儲存所有性別為女的學生記錄
USE jccode
GO
CREATE PROC MyProc
AS
SELECT * FROM Student WHERE Ssex='女'
GO
--使用建立的儲存過程,既輸出
EXEC MyProc

儲存過程的各種用途

建立帶有引數的儲存過程

--輸出成績大於給定課程號的給定成績的學生名字
GO
CREATE PROC test
@temp int,--成績
@s int --課程號
AS
SELECT Student.Sname
FROM SC,Student
WHERE SC.Sno=Student.Sno AND SC.Grade>=@temp AND SC.Cno=@s
GO

EXEC test 80,2
--EXEC test 2,80就是錯的!
--EXEC test @temp=80,@s=2也可以

設定輸出引數的儲存過程


GO
CREATE PROC query
(
	@sno varchar(15),
	@sn  nvarchar(10) OUTPUT,
	@sx  nvarchar(5) OUTPUT
)
AS
SELECT @sn=Student.Sname,@sx=Student.Ssex
FROM Student
WHERE Student.Sno=@sno
GO
DECLARE @n1 nvarchar(10)
DECLARE @n2 nvarchar(5)
EXEC query '201215121',@n1 OUTPUT,@n2 OUTPUT
SELECT @n1,@n2

儲存過程的優點與缺點