国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文安县| 洮南市| 仲巴县| 将乐县| 崇州市| 都安| 梁河县| 牙克石市| 泾阳县| 含山县| 资源县| 永平县| 三原县| 双峰县| 潞城市| 阿勒泰市| 弥勒县| 绩溪县| 屏东县| 碌曲县| 海口市| 广灵县| 江山市| 建水县| 吴旗县| 黄冈市| 蒙山县| 平乐县| 衡山县| 易门县| 玉田县| 巴林右旗| 嘉兴市| 营口市| 嵊泗县| 新源县| 宜良县| 米泉市| 新和县| 丹东市| 天峻县|