快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

动态SQL语句

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 \\\'+@servername+\\\'.a.dbo.b\\\'
exec sp_executesql @sqls,N\\\'@a int output\\\',@num output
select @num


返回类别: 教程
上一教程: SQL数据操作基础(中级)10
下一教程: 痛下决心:微软公布放弃SQL Ser2005

您可以阅读与"动态SQL语句"相关的教程:
· 动态SQL语句
· 动态SQL四种类型的语句格式
· SQL查询语句精华使用简要
· SQL核心语句
· 简化SQL语句一例
    微笑服务 优质保证 索取样品