国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

動態SQL語句

2024-07-21 02:08:41
字體:
來源:轉載
供稿:網友


1:
普通sql語句可以用exec執行
eg:   select * from tablename
      exec('select * from tablename')
      sp_executesql n'select * from tablename'    -- 請注意字符串前一定要加n

2:
字段名,表名,數據庫名之類作為變量時,必須用動態sql
eg:  
declare @fname varchar(20)
set @fname = '[name]'
select @fname from sysobjects                     -- 錯誤
exec('select ' + @fname + ' from sysobjects')     -- 請注意 加號前后的 單引號的邊上要加空格
exec sp_executesql n' select ' + @fname + ' from sysobjects'
當然將字符串改成變量的形式也可
    declare @s varchar(1000)
    set @s = 'select ' + @fname + ' from sysobjects'
    exec(@s)                -- 成功
    exec sp_executesql @s   -- 此句會報錯

    declare @s nvarchar(1000)  -- 注意此處改為nvarchar(1000)
    set @s = 'select ' + @fname + ' from sysobjects'
    exec(@s)                -- 成功   
    exec sp_executesql @s   -- 此句正確,

3: 輸出參數
eg:
declare @num,
        @sqls
set @sqls='select count(*) from  ' + @servername + '.a.dbo.b'
exec(@sqls)
我如何能將exec執行的結果存入變量@num中

declare @num int,
        @sqls nvarchar(4000)
set @sqls='select @a=count(*) from '[email protected]+'.a.dbo.b'
exec sp_executesql @sqls,n'@a int output',@num output
select @num

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长春市| 贺州市| 弥渡县| 龙井市| 读书| 洛阳市| 承德县| 横山县| 建平县| 上犹县| 长岛县| 都昌县| 视频| 左云县| 石棉县| 汤阴县| 佳木斯市| 新巴尔虎右旗| 奈曼旗| 扶风县| 沈阳市| 彭水| 盖州市| 丰镇市| 麦盖提县| 西乡县| 林芝县| 寻甸| 米林县| 东阿县| 商丘市| 兴隆县| 濮阳县| 灌阳县| 龙游县| 乐山市| 瓮安县| 武山县| 隆子县| 绥棱县| 怀远县|