儲存過程裡output的使用總結

2021-08-23 15:51:03 字數 634 閱讀 9348

/*output的用法:簡單一點說就是帶有output標識的引數在儲存過程中的修改將被儲存。

如果不帶,那麼當儲存過程執行結束後,對引數的修改將消失。如果用程式語言來形容的話,

就是類似於值傳遞引數與位址傳遞引數一樣的方式。這裡要注意的是如果要設定output,形參和實參要同時設定(實參可以不寫

,否則會報以下錯誤

形參"@sno" 未宣告為output 引數,但傳遞進來的實參請求輸出。*/

create

proc stu_sno(@sno varchar

(10)

output)--

在寫這個引數的時候必須要加括號,否則會報錯:超出了儲存過程、函式、觸發器或檢視的最大巢狀層數as

select

*from

student

where

sno=@sno

declare

@num varchar

(10)

set@num=

'990001'

exec

stu_sno @num output--這個output可以不寫

select

@num--

這裡只能用select而不能用print,否則是打不出東西的

儲存過程裡output的使用總結

output的用法 簡單一點說就是帶有output標識的引數在儲存過程中的修改將被儲存。如果不帶,那麼當儲存過程執行結束後,對引數的修改將消失。如果用程式語言來形容的話,就是類似於值傳遞引數與位址傳遞引數一樣的方式。這裡要注意的是如果要設定output,形參和實參要同時設定 實參可以不寫 否則會報以...

儲存過程中的output應用

create procedure ega drugreg checkverifycode verifycode nvarchar 50 校驗碼 type nvarchar 10 表型別,見下case塊 rid nvarchar 128 output 如有相同校驗碼,輸出id,否則 as set ri...

帶OUTPUT引數的CLR儲存過程

開啟剛才前面我們寫好的sql database project,新增乙個方法 可複製 public static void getfruitname out sqlstring fruitname,sqlbyte fruit nbr catch connection.close view code ...