1. 动态sql语句基本语法
  2. :普通SQL语句可以用Exec执行
  3.  
  4. eg: Select * from tableName
  5. Exec('select * from tableName')
  6. Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
  7.  
  8. :字段名,表名,数据库名之类作为变量时,必须用动态SQL
  9.  
  10. eg:
  11. declare @fname varchar()
  12. set @fname = 'FiledName'
  13. Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
  14. Exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格
  15.  
  16. 当然将字符串改成变量的形式也可
  17. declare @fname varchar()
  18. set @fname = 'FiledName' --设置字段名
  19.  
  20. declare @s varchar()
  21. set @s = 'select ' + @fname + ' from tableName'
  22. Exec(@s) -- 成功
  23. exec sp_executesql @s -- 此句会报错
  24.  
  25. declare @s Nvarchar() -- 注意此处改为nvarchar()
  26. set @s = 'select ' + @fname + ' from tableName'
  27. Exec(@s) -- 成功
  28. exec sp_executesql @s -- 此句正确
  29.  
  30. . 输出参数
  31. declare @num int, @sql nvarchar()
  32. set @sql='select count(*) from tableName'
  33. exec(@sql)
  34.  
  35. --如何将exec执行结果放入变量中?
  36.  
  37. declare @num int, @sql nvarchar()
  38. set @sql='select @a=count(*) from tableName '
  39. exec sp_executesql @sql,N'@a int output',@num output
  40. select @num
  41.  
  42. 两个表的列值进行对比
  43.  
  44. select * from ta where checksum(a,b) in(select checksum(a,b) from tb )

[SQL]动态sql语句基本语法的更多相关文章

  1. PL/SQL --> 动态SQL调用包中函数或过程

    动态SQL主要是用于针对不同的条件或查询任务来生成不同的SQL语句.最常用的方法是直接使用EXECUTE IMMEDIATE来执行动态SQL语句字符串或字符串变量.但是对于系统自定义的包或用户自定的包 ...

  2. SQL中Like语句的语法

    在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用 ...

  3. mybatis Dynamic SQL动态 SQL

    动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦.例如拼接时要确保不能忘记添加必要的空格 ...

  4. PL/SQL 动态SQL

    declare msql varchar2(200); row_id varchar2(200); begin loop row_id := 'AAATGiAAEAAAuLLAAA'; msql := ...

  5. Mybatis 系列9-强大的动态sql 语句

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  6. 第15讲:嵌入式SQL语句(动态SQL)

    一.动态SQL概述 1. 静态SQL vs 动态SQL ①动态SQL是相对静态SQL而言的 ②静态SQL特点:SQL语句在程序中已经按要求写好,只需要把一些参数通过变量传递给SQL语句即可 specN ...

  7. MyBatis 动态SQL(十二)

    动态条件查询 以下是我们数据库表 tb_user 的记录: 假设现在有一个需求,就是根据输入的用户年龄和性别,查询用户的记录信息.你可能会说,这太简单了,脑袋里立马蹦出如下的 SQL 语句: SELE ...

  8. 深入浅出Mybatis系列(九)---强大的动态SQL

    上篇文章<深入浅出Mybatis系列(八)---mapper映射文件配置之select.resultMap>简单介绍了mybatis的查询,至此,CRUD都已讲完.本文将介绍mybatis ...

  9. MyBatis 实践 -动态SQL/关联查询

    MyBatis 实践 标签: Java与存储 动态SQL 动态SQL提供了对SQL语句的灵活操作,通过表达式进行判断,对SQL进行拼接/组装. if 对查询条件进行判断,如果输入参数不为空才进行查询条 ...

随机推荐

  1. python ImportError: No module named 的问题

    https://my.oschina.net/leejun2005/blog/109679 python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包.只要模块或者包所 ...

  2. each和$(this)配合循环_siblings选取同级不同类型元素

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  3. 【性能诊断】二、单功能场景的性能分析(fiddler、SQL Profiler)

    Fiddler fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测 ...

  4. CA接口测试类

    package com.creditharmony.adapter.testCase.ca; import org.junit.Test; import com.alibaba.druid.util. ...

  5. android ANR

    下面有两篇关于Android ANR的文章,感觉不错,分享一下! [Android实例] [Sundy系列]网上绝无仅有的Log分析教程及例子!android ANRhttp://blog.csdn. ...

  6. IOS开发-UI基础-视图

    //------------------------------UIWindow--------------------------// 1.UIWindow:是 UIView 的子类,用于管理.协调 ...

  7. iwpriv

    AuthMode             {OPEN,SHARED,WEPAUTO,WPAPSK,WPA2PSK,WPANONE} ::Set Authentication Mode EncrypTy ...

  8. html5 中meta中 content=width=device-width注意

    <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...

  9. 【SQL Server】系统学习之二:索引优化

    页大小8192个字节,行限制为8060字节(大型对象除外). 包含varchar nvarchar varbinary sql_variant(8012,object类型) clr 的行,如果行大小超 ...

  10. The dependency `BaiduMapKit` is not used in any concrete target

    RubertdeMacBook-Pro:项目名 Rubert$ pod install Analyzing dependencies [!] The dependency `BaiduMapKit` ...