动态sql语句基本语法

转载 2006年06月09日 17:59:00

--如何将exec执行结果放入变量中?

declare @num int,
               @sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num

---------------------------------------------------------------------------


动态sql语句基本语法
1 :普通SQL语句可以用Exec执行

eg:   Select * from tableName
         Exec('select * from tableName')
         Exec sp_executesql N'select * from tableName'    -- 请注意字符串前一定要加N

2:字段名,表名,数据库名之类作为变量时,必须用动态SQL

eg:  
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tableName              -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
Exec('select ' + @fname + ' from tableName')     -- 请注意 加号前后的 单引号的边上加空格

当然将字符串改成变量的形式也可
declare @fname varchar(20)
set @fname = 'FiledName' --设置字段名

declare @s varchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s)                -- 成功
exec sp_executesql @s   -- 此句会报错

 

declare @s Nvarchar(1000)  -- 注意此处改为nvarchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s)                -- 成功    
exec sp_executesql @s   -- 此句正确

3. 输出参数
declare @num int,
        @sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?

declare @num int,
               @sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num

动态SQL语句基本语法

  • 2010年01月31日 02:40
  • 173KB
  • 下载

动态SQL语句基本语法

  • 2010年09月13日 09:06
  • 321KB
  • 下载

学习SQL应知道的动态SQL语句基本语法

学习SQL应知道的动态SQL语句基本语法 1 、普通SQL语句可以用Exec执行 9Kp=A   ' CdaFr1   eg: Select * from tableName Wsc+A...
  • newnazi
  • newnazi
  • 2014年03月08日 23:29
  • 1426

ibatis中SQL映射配置文件中动态SQL语句语法

有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。使用Oracle的序列、mysq...

Oracle动态SQL语法

动态SQL语法 只有在运行时候Oracle才能够检测它的格式是否正确 INTO和USING子句是可选的 如果SQL语句是一个查询语句的话,我们可以使用INTO子句 INTO语句用于...
  • lgl265
  • lgl265
  • 2013年03月08日 17:55
  • 538

动态SQL语句

  • 2012年03月12日 10:32
  • 195KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态sql语句基本语法
举报原因:
原因补充:

(最多只允许输入30个字)