生活随笔
收集整理的這篇文章主要介紹了
動態語句的使用方法(exec/sp_executesql)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
--動態語句語法動態語句語法:--方法1查詢表改為動態select?*?from?sysobjectsexec('select?ID,Name?from?sysobjects')exec?sp_executesql?N'select?ID,Name?from?sysobjects'--多了一個N為unicode--方法2:字段名,表名,數據庫名之類作為變量時,用動態SQL?declare?@FName?varchar(20)set?@FName='ID'exec('select?'+@FName+'?from?sysobjects?where?'+@FName+'=5'?)declare?@s?varchar(1000)set?@s=N'select?'+@FName+'?from?sysobjects?where?'+@FName+'=5'exec?sp_executesql?@s--會報錯declare?@s?nvarchar(1000)--改為nvarcharset?@s=N'select?'+@FName+'?from?sysobjects?where?'+@FName+'=5'exec?sp_executesql?@s--成功--方法3:輸入參數declare?@i?int,@s?nvarchar(1000)set?@i=5exec('select?ID,Name?from?sysobjects?where?ID='+@i)set?@s='select?ID,Name?from?sysobjects?where?ID=@i'exec?sp_executesql?@s,N'@i?int',@i--此處輸入參數要加上N--方法4:輸出參數declare?@i?int,@s?nvarchar(1000)set?@s='select?@i=count(1)?from?sysobjects'--用execexec('declare?@i?int?'+@s+'?select?@i')--把整個語句用字符串加起來執行--用sp_executesqlexec?sp_executesql?@s,N'@i?int?output',@i?output--此處輸出參數要加上Nselect?@i--方法5:輸入輸出--用sp_executesqldeclare?@i?int,@con?int,@s?nvarchar(1000)set?@i=5select?@s='select?@con=count(1)?from?sysobjects?where?ID>@i'exec?sp_executesql?@s,N'@con?int?output,@i?int',@con?output?,@i?select?@con--用execdeclare?@i?int,@s?nvarchar(1000)set?@i=5select?@s='declare?@con?int?select?@con=count(1)?from?sysobjects?where?ID>'+rtrim(@i)+'?select?@con'exec(@s)
轉載于:https://www.cnblogs.com/wuxi88/archive/2008/10/06/5466783.html
總結
以上是生活随笔為你收集整理的動態語句的使用方法(exec/sp_executesql)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。