關於exec返回值的問題有很多,在這做個簡要的總結。
讀查詢語句示例:
declare @count int
1set@strsql=n
'select @a= count(*) from ['+
@tblname+'
] where 1=1 '+
@strwhere
2exec
sp_executesql
@strsql,n'
@a int output',
@count
output
3select
@count
要點:1.利用系統儲存過程 sp_executesql
2. 在要執行的sql文中加入引數,如 "@a",在sp_executesql的引數 聲 明中要指定引數的型別,引數的方向。
3. sp_executesql的每個字元型別的引數都要是 n開頭的資料型別,如是nvarchar 不能是 varchar,否則會報錯「過程需要型別為 'ntext/nchar/nvarchar' 的引數」.
讀儲存過程示例:
create
procedure
protest
(@name
varchar(10
),@money
intoutput)as
begin
if(@name='1')
set@money
=1000
else
set@money
=2000
end這個只是乙個簡單的示例,這個儲存過程返回的是@money 這個引數的值,那麼當我們在另外乙個儲存過程中呼叫此儲存過程的時候如何獲取這個引數呢,方法如下:
declare
@mint
---用來接收返回值的變數
exec
protest
@name='
1',@money=@m
output
--一定要註名是output
就這麼簡單,我們就獲得了返回值,然後就可以利用它了
php中exec 函式返回值
php中可以使用 exec 函式呼叫外部函式。語法 string exec string command array output int return var exec 會執行command引數所指定的命令。exec 預設情況會返回指定命令結果的最後一行,指定output引數,會使用返回結果填充o...
有返回值和無返回值函式
前面在定義函式時,有些函式使用了return語句,有些函式沒有使用return語句,使用return語句與不使用return語句有什麼區別呢?由前面的章節我們知道,若定義函式時沒有使用return語句,則預設返回乙個none。要返回乙個none,可以只寫乙個return,但要返回具體的數值,就需要在...
返回值優化
通過傳值方式返回要建立新物件時,應注意使用的形式,例如在operator return integer left.l right.l 咋看起來這像是乙個 對乙個建構函式的呼叫 其實並非如此。這是臨時物件語法,它是在說 建立乙個臨時integer物件並返回它 據此我們可能認為如果建立乙個有名字的區域性...