SQL Server動態SQL與變數繫結

2022-03-01 20:40:26 字數 830 閱讀 6972

有時候動態sql需要進行變數的賦值,這個時候就需要呼叫系統的儲存過程sp_executesql了。使用中還是有些注意事項,**如下:

--

字元型字段需宣告為nvarchar型別

declare

@strsql

nvarchar(1000),@value_str

nvarchar(254)--

動態sql拼接

set@strsql='

select @value_str=isnull(value_str,

''''

) from [mast'+

'admin'+

'@prop_fld] where form_name=

''invhaform

''and prop_name=

''peroutqty

'''--

測試sql拼接結果

print

@strsql

--n'@value_str nvarchar(254) output'為動態sql中變數的宣告,@value_str output為接收變數,注意都需帶上output引數。

exec sp_executesql @strsql,n'

@value_str nvarchar(254) output

',@value_str

output

--測試變數結果

print

@value_str

執行結果如下:

sqlserver中動態sql語句應用

所有人知道select from tablename where aa bb的用法 大部分人知道 exec select from tablename where aa bb 的用法 但是仍然有很多人不知道sp executesql的用法,他可以讓動態sql接收引數且把查詢結果返回到乙個引數 接收條...

sqlserver中動態sql語句應用

所有人知道select from tablename where aa bb的用法 大部分人知道 exec select from tablename where aa bb 的用法 但是仍然有很多人不知道sp executesql的用法,他可以讓動態sql接收引數且把查詢結果返回到乙個引數 接收條...

sqlserver中動態sql語句應用

所有人知道select from tablename where aa bb的用法 大部分人知道 exec select from tablename where aa bb 的用法 但是仍然有很多人不知道sp executesql的用法,他可以讓動態sql接收引數且把查詢結果返回到乙個引數 接收條...