日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

動態語句的使用方法(exec/sp_executesql)

發布時間:2024/4/14 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 動態語句的使用方法(exec/sp_executesql) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • --動態語句語法
  • /******************************************************************************************************************************************************
  • 動態語句語法:exec/sp_executesql語法
  • 整理人:中國風(Roy)
  • 日期:2008.06.06
  • ******************************************************************************************************************************************************/
  • 動態語句語法:
  • --方法1查詢表改為動態
  • select?*?from?sysobjects
  • exec('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)--改為nvarchar
  • set?@s=N'select?'+@FName+'?from?sysobjects?where?'+@FName+'=5'
  • exec?sp_executesql?@s--成功
  • --方法3:輸入參數
  • declare?@i?int,@s?nvarchar(1000)
  • set?@i=5
  • exec('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'
  • --用exec
  • exec('declare?@i?int?'+@s+'?select?@i')--把整個語句用字符串加起來執行
  • --用sp_executesql
  • exec?sp_executesql?@s,N'@i?int?output',@i?output--此處輸出參數要加上N
  • select?@i
  • --方法5:輸入輸出
  • --用sp_executesql
  • declare?@i?int,@con?int,@s?nvarchar(1000)
  • set?@i=5
  • select?@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
  • --用exec
  • declare?@i?int,@s?nvarchar(1000)
  • set?@i=5
  • select?@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)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。