n年以前的笔记,发布出来,意义不大,仅供初学者参考
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语句 字符串中使用 单引号 '' 可以 使用 ''''

SqlServer中的动态Sql相关推荐

  1. oracle中执行动态sql语句吗,oracle中有没有可动态执行sql语句的函数

    oracle中有没有可动态执行sql语句的函数 关注:233  答案:2  手机版 解决时间 2021-03-05 15:53 提问者祗剩寂寞 2021-03-04 22:38 oracle中有没有可 ...

  2. 在存储过程中构建动态SQL

    目录 介绍 sp_executesql与EXECUTE命令 例1.0 例1.1 存储过程中的动态SQL 例2.0 在动态SQL中使用Like操作符,IN操作符和Order By 例3.0 - 使用LI ...

  3. SQL Server中的动态SQL

    In this article, we will review how to construct and execute dynamic SQL statements in SQL Server wi ...

  4. 在Oracle中执行动态SQL的几种方法------转载

    在Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如: SELECT t.empno,t.ename  FROM scott.emp t WHERE t.de ...

  5. oracle 动态执行ddl语句,Oracle过程中执行动态SQL或DDL语句

    如果你用的是 Oracle 8i 及以上的版本,那简单,在过程中用 execute immediate sql_str 就行, sql_str 是一个拼凑的 SQL 语句, 如果你用的是 Oracle ...

  6. mybatis中mapper文件中的动态sql语句

    有时候在检索时,用户提供的数据不一样多,我们很难使用静态的sql语句进行判别,所以这个时候需要使用动态的sql语句 这里主要针对Mapper.xml文件中的sql语句,笔者在下面所有的例子中只提供了M ...

  7. 在SQLMAP中使用动态SQL

    最近有几个同事和朋友询问如何在SQLMAP中"拼接字符串",因为有时候条件的数量不固定,条件参数类型也不固定,无法写出 @参数名 这样的SQL语句,也就是大家常说的"动态 ...

  8. 6.Mybatis中的动态Sql和Sql片段(Mybatis的一个核心)

    视频地址:http://edu.51cto.com/sd/be679 动态Sql是Mybatis的核心,就是对我们的sql语句进行灵活的操作,他可以通过表达式,对sql语句进行判断,然后对其进行灵活的 ...

  9. 存储过程中执行动态Sql语句

    MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有.还有一个最大的好处就 ...

最新文章

  1. Gitlab CI更多内容学习(二)
  2. 实现后台检控并关闭进程的批处理
  3. 【Python】torrentParser1.00
  4. C++ 编译器多态与运行时多态
  5. JQuery中ajax方法访问web服务
  6. static成员函数和static成员
  7. python英文词云代码_使用python实现个性化词云的方法
  8. 剑指Offer - 面试题64. 求1+2+…+n(递归)
  9. 程序媛如何自我突破?
  10. [算法总结] 13 道题搞定 BAT 面试——字符串
  11. css-演练-完成一个后台管理页面-不完整版
  12. 漫画解析Linux内核
  13. 如何将枯燥的大数据呈现为可视化的图?
  14. 电影'社交网络'获金球奖最佳影片,最佳编剧,最佳导演,最佳配乐奖
  15. Multisim 13.0.1 安装教程
  16. 三阶魔方大中小魔公式_七步玩转三阶魔方还原公式图解 + 视频
  17. esp32 flash加密介绍
  18. 2020春节假期VR/AR资讯汇总
  19. Python数据类型之列表
  20. 不经一番寒彻骨,怎得梅花扑鼻香,29岁vivo员工吐槽

热门文章

  1. TopHQBooks – PDF 搜索引擎 - 小众软件
  2. 第十八章 8string类insert成员函数的使用
  3. Lvs+keepalived 高可用性负载均衡自动化配置
  4. 领域驱动设计案例:Tiny Library:领域模型
  5. WindowsXP 下的pix模拟器出炉了!!!
  6. windows10详细配置pcl-1.8.1
  7. nyoj 16 矩形嵌套 (DAG上的DP)
  8. Serverless的理解
  9. RecSys 2016总结
  10. Appium——appium之mac环境安装