儲存過程是一組預編譯的sql語句,它可以包含資料操縱語句、變數、邏輯控制語句等。
儲存過程允許帶引數:
儲存過程的優點:
執行速度快
允許模組化設計
提高系統安全性
減少網路流量
我們可以使用create procedure命令建立儲存過程。
createprocedure
calcage (
@birthday
datetime, --
輸入引數
@age
int output --
輸出引數,引數後面加 output)as
begin
--begin...end 語句塊不是必須的(即使是多條語句)
declare
@now
datetime
set@now
=getdate
()
set@age
=year(@now)-
year(@birthday) --
為輸出引數賦值,不需要return
end
輸入引數帶預設值:
createprocedure
calcage (
@birthday
datetime='
2012-1-1
', --
輸入引數,帶預設值,呼叫的時候可以不指定
@age
int output --
輸出引數,引數後面加 output)as
begin
--begin...end 語句塊不是必須的(即使是多條語句)
declare
@now
datetime
set@now
=getdate
()
set@age
=year(@now)-
year(@birthday) --
為輸出引數賦值,不需要return
end
我們新定義的儲存過程有輸出引數,呼叫的時候也需要指定引數為output
declare@age
intexecute calcage '
2012-1-1
', @age output --
標記引數@age為output
@age
呼叫儲存過程時,預設情況下指定的引數是按照定義的數序指定的,我們也可以顯示的指定:
declare@myage
intexecute calcage @age
=@myage output --
顯示指定引數@age
@myage
使用alter procedure命令修改儲存過程,例如下面的偽**:
alterprocedure
calcage (
@birthday
datetime
,
@age
intoutput)as
begin
--這裡是你的邏輯
end
使用drop procedure命令刪除儲存過程:
dropprocedure calcage
SQL Server程式設計(03)自定義儲存過程
儲存過程是一組預編譯的sql語句,它可以包含資料操縱語句 變數 邏輯控制語句等。儲存過程允許帶引數 儲存過程的優點 執行速度快 允許模組化設計 提高系統安全性 減少網路流量 我們可以使用create procedure命令建立儲存過程。create procedure calcage birthda...
SQL Server程式設計(03)自定義儲存過程
儲存過程是一組預編譯的sql語句,它可以包含資料操縱語句 變數 邏輯控制語句等。儲存過程允許帶引數 儲存過程的優點 執行速度快 允許模組化設計 提高系統安全性 減少網路流量 我們可以使用create procedure命令建立儲存過程。create procedure calcage birthda...
SQL Server程式設計(02)自定義函式
在程式設計過程中,我們通常把特定的功能語句塊封裝稱函式,方便 的重用。我們可以在sql server中自定義函式,根據函式返回值的區別,我們自定義的函式分兩種 標量值函式和錶值函式。自定義函式的優點 乙個函式最多可以有1024個引數 在呼叫函式時,如果未定義引數的預設值,則必須提供已宣告引數的值。下...