SQL Server程式設計(03)自定義儲存過程

2022-03-08 19:06:47 字數 1422 閱讀 3997

儲存過程是一組預編譯的sql語句,它可以包含資料操縱語句、變數、邏輯控制語句等。

儲存過程允許帶引數:

儲存過程的優點:

執行速度快

允許模組化設計

提高系統安全性

減少網路流量

我們可以使用create procedure命令建立儲存過程。

create procedure 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

輸入引數帶預設值:

create procedure 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 int

execute calcage '2012-1-1', @age output --標記引數@age為output

print @age

呼叫儲存過程時,預設情況下指定的引數是按照定義的數序指定的,我們也可以顯示的指定:

declare @myage int

execute calcage @age=@myage output --顯示指定引數@age

print @myage

使用alter procedure命令修改儲存過程,例如下面的偽**:

alter procedure calcage (

@birthday datetime,

@age int output)as

begin

-- 這裡是你的邏輯

end

使用drop procedure命令刪除儲存過程:

drop procedure 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個引數 在呼叫函式時,如果未定義引數的預設值,則必須提供已宣告引數的值。下...