两种方式:exec (sqlStr);或exec sp_executesql @sqlStr;绝大多数情况下,应使用第二种方式来执行动态sql。因为这种方式能重用执行计划,并且更安全。

参考例子:https://bbs.csdn.net/topics/380030146

例如:

DECLARE @csIds VARCHAR(512)
DECLARE @rc nvarchar(500)
SET @csIds=(SELECT CsIdList FROM PinZhuan WHERE PZId = 20)
SET @rc = 'SELECT ID,CsShowName from SCsinfoSource
WHERE ID IN ('+@csIds+')'
EXEC sp_executesql @rc
或者
EXEC sp_executesql N'SELECT ID,CsShowName from SCsinfoSource WHERE ID IN ('+@csIds+')'

或者

DECLARE @csIds VARCHAR(512)
SET @csIds=(SELECT CsIdList FROM PinZhuan WHERE PZId = 20)
EXEC('SELECT ID,CsShowName from SCsinfoSource
WHERE ID IN ('+@csIds+')')

执行一个内容为SQL语句的字符串的更多相关文章

  1. 在Hive中执行DDL之类的SQL语句时遇到的一个问题

    在Hive中执行DDL之类的SQL语句时遇到的一个问题 作者:天齐 遇到的问题如下: hive> create table ehr_base(id string); FAILED: Execut ...

  2. SQL点滴10—使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比

    原文:SQL点滴10-使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比 今天偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章 ...

  3. Mysql 定位执行效率低的sql 语句

    一.通过MySQL慢查询日志定位执行效率低的SQL语句. MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysq ...

  4. 监控SQL:执行表中所有sql语句、记录每个语句运行时间(3)

    原文:监控SQL:执行表中所有sql语句.记录每个语句运行时间(3) 通过执行一个 带参数的存储过程  exec  OpreateTB('OpreateUser','IsRun')  更新表的数据 表 ...

  5. 执行最慢的SQL语句

    ---执行最慢的SQL语句SELECT top 20(total_elapsed_time / execution_count)/1000 N'平均时间ms',total_elapsed_time/1 ...

  6. C#中 如何执行带GO的sql 语句

    C#中是不允许执行带GO的sql 语句的, 如何做呢? 思路就是将带GO的sql语句转化为分段执行, 但在同一事务内执行. 扩展方法是个很不错的主意, 但是尽量不要影响原来的cmd的一些东东, 如 c ...

  7. tp5 r3 一个简单的SQL语句调试实例

    tp5 r3 一个简单的SQL语句调试实例先看效果核心代码 public function index() { if (IS_AJAX && session("uid&quo ...

  8. 执行次数最多的sql语句

    执行次数最多的sql语句 * FROM ( creation_time N'语句编译时间' ,DB_NAME(st.dbid) AS dbname ,OBJECT_NAME(st.objectid) ...

  9. 【hibernate spring data jpa】执行了save()方法 sql语句也执行了,但是数据并未插入数据库中

    执行了save()方法  sql语句也执行了,但是数据并未插入数据库中 解决方法: 是因为执行了save()方法,也执行了sql语句,但是因为使用的是 @Transactional 注解,不是手动去提 ...

随机推荐

  1. 线程和进程PYTHON

    基本概念: 计算机一次只能运行一个进程,而一个进程又可以有多个线程,例如百度网盘的上传和下载. 1.线程的创建 .调用threading模块 .创建线程theading.Threads(target ...

  2. Gulp教程之:Gulp能做什么,前端装逼为何要用它

    我们先说说 平时web开发遇到的一些场景 和 苦恼无奈的情况: JavaScript和CSS的版本问题 我们都知道 JavaScript和CSS属于静态文件,如果地址不变,浏览器会缓存这些文件,那就意 ...

  3. Style- DataTrigger例子(Text长度)

    Text长度小于7时,边框变为红色 <Window.Resources> <local:L2BConverter x:Key="cvtr"/> <St ...

  4. 缓存cache介绍

    1.  为何要用缓存.缓存的目的是为了什么?(https://my.oschina.net/u/3378039/blog/2986697) 一个程序的瓶颈在于数据库,内存的速度远远大于硬盘的速度,当我 ...

  5. Git那些事儿

    Git是目前世界上最先进的分布式版本控制系统,适合多人协作开发的大型项目.我平常也经常使用git,来管理自己的几个小项目.简单说说git的原理和git的特点!(只有知道了一个工具的运行原理,设计思路, ...

  6. python 微信轰炸

    from __future__ import unicode_literals import requests import itchat import time def get_news(): ur ...

  7. 自学elastic search

    工作也有一段时间了,虽然来这个公司之后学会了几门不同的语言,但想拨尖还是任重道远. 想往高级程序员甚至是架构师方向发展.他仍然是我的学习对象.我现在做着的,无非是他玩剩下的罢了. luncene之前有 ...

  8. 优美序列(sequence)

    问题描述 Lxy养了N头奶牛,他把N头奶牛用1..N编号,第i头奶牛编号为i.为了让奶牛多产奶,每天早上他都会让奶牛们排成一排做早操.奶牛们是随机排列的.在奶牛排列中,如果一段区间[L,R]中的数从小 ...

  9. 在MSYS2环境下 用msvc 编译 zlib

    自己参考用. 在 vs2017 x64 native tools command prompt 下用  msys2_shell.cmd -use-full-path 打开 MSYS2窗口. 新建bui ...

  10. Maven 基本用法

    1. 新建一个项目目录 2. 在项目目录中新建并编写 pom.xml 文件, 3. 在项目目录中新建主代码目录 src/main/java 4. 在项目目录中新建测试代码目录 src/test/jav ...