快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   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 SERVER 2000的十个步骤
下一教程: MYSQL数据库函数详解(2)

您可以阅读与"动态SQL语句"相关的教程:
· 动态SQL语句
· 动态SQL四种类型的语句格式
· 通用SQL数据库查询语句精华使用简介
· MS SQL SERVER中如何得到表的创建语句
· SQL的一些核心语句
    微笑服务 优质保证 索取样品