动态SQL语句

原创 2004年08月22日 14:12:00
 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语句 静态sql和动态sql

使用动态SQL是在编写PL/SQL过程时经常使用的方法之一。很多情况下,比如根据业务的需要,如果输入不同查询条件,则生成不同的执行 SQL查询语句,对于这种情况需要使用动态SQL来完成。再比如,对于...
  • zy_281870667
  • zy_281870667
  • 2016年06月15日 16:45
  • 2478

动态生成SQL语句,对数据操作

这篇主要是实现了实体类的数据库CRUD的操作。   在目前的ORM映射框架中,对于操作数据库的最后一个步骤就是动态生成操作数据库的SQL语句,而这无非也就是利用实体属性中的自定义映射机制来实现的,...
  • hehuicong
  • hehuicong
  • 2014年10月22日 16:18
  • 3082

MyBatis学习 之 三、动态SQL语句

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

iBatis.net使用动态sql语句

  • 2015年12月04日 10:42
  • 89KB
  • 下载

动态SQL语句

  • 2012年03月12日 10:32
  • 195KB
  • 下载

动态SQL语句基本语法

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

动态SQL语句基本语法

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

Mabatis中动态sql语句的写法

  • 2013年03月13日 14:44
  • 111KB
  • 下载

学习SQL应知道的动态SQL语句(doc)

  • 2008年10月28日 19:00
  • 64KB
  • 下载

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

  • 2009年09月26日 11:58
  • 443KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态SQL语句
举报原因:
原因补充:

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