使用动态SQL语句是最简单的处理方法。

原创 2006年06月01日 10:06:00

使用动态SQL语句是最简单的处理方法。

 

动态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

相关文章推荐

iBatis.net使用动态sql语句

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

ibatis简单的动态sql语句

ibatis动态SQL语句 动态SQL语句 1)二元条件元素的属性:  prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选)  property  - 被比...
  • xym2589
  • xym2589
  • 2011年11月19日 19:00
  • 259

oracle对动态sql语句的处理

1、静态SQL语句性能优于动态SQL语句,如果功能确定最好使用静态SQL语句 2、使用execute immediate语句,用于处理除了多行查询之外的任何动态SQL,包括DDL、DCL、DML、以...

如何使用动态SQL语句?

这里只介绍动态SQL的使用。关于动态SQL语句的语法,参见:http://blog.csdn.net/chiclewu/article/details/16097133 1.什么是时候需要使用动态S...

如何在定义游标的时候使用动态sql语句?

这样写是错的 declare @qa nvarchar(200) declare @i int declare @sql nvarchar(255) set @i = 1 whi...
  • wwp1026
  • wwp1026
  • 2011年10月24日 11:14
  • 1858

使用JOOQ seek语句及动态SQL重写MySQL分页逻辑

众所周知,MySQL在数据量很大的时候查询的效率是很低的,因为假如你需要OFFSET 100000 LIMIT 5这样的数据,数据库就需要跳过前100000条数据,才能返回给你你需要的5条数据。由于数...

MyBatis使用动态SQL语句

有时候,固定的SQL语句不能够满足我们的应用需求。我们需要在标准的基础上建立动态的查询语句。例如,在WEB的应用程序中,在标准的基础上,提供一个或多个输入选项或执行搜索。为了执行这些函数,我们需要在可...

动态sql语句 异常处理

--execute immediate 实现DDL declare v_ddl varchar2(200); begin v_ddl:='create table mytable ...

oracle动态sql语句处理——47522341的专栏在去dba的路上

动态SQL语句处理:根据要处理的sql语句的作用不同,可以使用三种不同类型的动态sql方法:使用execute immediate语句可以处理包括ddl(create、alter和drop)、DCL(...

Mybatis学习笔记七:动态SQL语句的使用

上一章实现了Mybatis与SpringMVC的整合,在本章中将回归Mybatis的功能描述,Mybatis是一个灵活程度很高的框架,他支持动态SQL语句,给开发带来了很大的便利。主要记录几个常用的使...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用动态SQL语句是最简单的处理方法。
举报原因:
原因补充:

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