SQLSERVER 在PROCEDURE 中动态执行SQL语句【EXEC】并获取
1.直接上代码
CREATE PROCEDURE [dbo].[TEST] AS
BEGIN
DECLARE
@con nvarchar(50)='N8-4F', --構建SQL需要的條件
@sql nvarchar(1000),--構建後的SQL語句
@cnt int, --獲取執行結果值
@curTmp nvarchar(50) --查詢滿足條件的個數
SET @sql = 'SELECT @cnt = COUNT(*) FROM [EMPCARDHISTORY] WHERE 1=1 AND [AREA]='''+@con+''''
EXEC sp_executesql @sql,N'@cnt int out',@cnt out --可以獲得@cnt的值 --演示SQL中有傳入參數
SET @sql = ' SELECT @cnt = COUNT(*) FROM [EMPCARDHISTORY] WHERE 1=1 AND [AREA]=@con'
EXEC sp_executesql @sql,N'@cnt int out,@con nvarchar(50)',@cnt out,@con --演示遊標
SET @sql = ' DECLARE cur_getData FOR SELECT EMPNO FROM [EMPCARDHISTORY] WHERE 1=1 AND [AREA]=@'''+@con+''''
EXEC(@sql)
OPEN cur_getData --該處的遊標是我們定義在@sql中的
FETCH NEXT FROM cur_getData INTO @curTmp
WHILE @@FETCH_STATUS = 0
BEGIN
--xxxx
FETCH NEXT FROM cur_getData INTO @curTmp
END END
SQLSERVER 在PROCEDURE 中动态执行SQL语句【EXEC】并获取的更多相关文章
- 使用exec和sp_executesql动态执行SQL语句(转载)
当需要根据外部输入的参数来决定要执行的SQL语句时,常常需要动态来构造SQL查询语句,个人觉得用得比较多的地方就是分页存储过程和执行搜索查询的SQL语句.一个比较通用的分页存储过程,可能需要传入表名, ...
- 第二百八十七节,MySQL数据库-条件语句、循环语句、动态执行SQL语句
MySQL数据库-条件语句.循环语句.动态执行SQL语句 1.if条件语句 delimiter \\ CREATE PROCEDURE proc_if () BEGIN ; THEN ; ELSEIF ...
- 动态执行SQL语句,接收返回值
一.exec和sp_executesql介绍 当需要根据外部输入的参数来决定要执行的SQL语句时,常常需要动态来构造SQL查询语句.比如,一个比较通用的分页存储过程,可能需要传入表名,字段,过滤条件, ...
- SQL*PLUS中批量执行SQL语句
SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书) ...
- sp_executesql动态执行sql语句并将结果赋值给一变量
需求场景: 需动态拼接sql语句进行执行,并将执行的结果赋值给一指定变量. 样例代码如下: SELECT @tableName = TAB_NAME FROM dbo.NMR_BLYWBDY WHER ...
- ORACLE 查询不走索引的原因分析,解决办法通过强制索引或动态执行SQL语句提高查询速度
(一)索引失效的原因分析: <>或者单独的>,<,(有时会用到,有时不会) 有时间范围查询:oracle 时间条件值范围越大就不走索引 like "%_" ...
- Eclipse中直接执行sql语句(图文说明)
转自:https://blog.csdn.net/changjyzzu/article/details/45487847 1.首先新建sql文件,然后打开文件 22.右键点击空白处,点击set-con ...
- mysql 存储过程动态执行sql语句
之前经常在程序中拼接sql语句,其实我们也可以在存储过程中拼接sql 语句,动态的执行~~ 代码如下: DROP PROCEDURE IF EXISTS SearchByDoctor;CREATE P ...
- 动态执行SQL语句
在实际制作过程中,需要动态的拼接SQL语句然后执行.具体代码如下: declare @columnName varchar(20),@tempName varchar(20) select @temp ...
随机推荐
- python从入门到放弃之anconada真愁人
原先未使用anconada,用的python2.7,每次install各种包各种问题真的心累 后来装了anconada,安装了python3.6 使用起来比较方便了. 陆续将遇到的问题更新如下~ 一 ...
- Splinter自动登录
默认用foxfire浏览器,如果用chrome请到官网下载 chromedriver驱动,解压后放到python目录scripts下 然后添加环境变量,在Path下添加chromedrvier的路径. ...
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_07-vuejs研究-vuejs基础-v-bind指令
4.v-bind v-bind:无法双向绑定’ 1.作用: v‐bind可以将数据对象绑定在dom的任意属性中. v‐bind可以给dom对象绑定一个或多个特性,例如动态绑定style和class 2 ...
- jackson将json数组转成List、普通数组。
package com.mkyong; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jacks ...
- Centos 6.8环境下OpenLDAP安装与部署
一.OpenLDAP介绍 LDAP 全称轻量级目录访问协议(英文:Lightweight Directory Access Protocol),是一个运行在 TCP/IP 上的目录访问协议.LDAP实 ...
- 比特币nBits计算
转载:比特币源码分析(二十二) - 挖矿和共识 https://blog.csdn.net/yzpbright/article/details/81231351 CalculateNextWorkRe ...
- ldap客户端工具ldap admin tool
官网下载:非免费软件,自己破解 http://www.ldapbrowsermac.com/
- 360再报丑闻,派遣黑客盗取ESET安全软件病毒库,法院已经介入调查
360再报丑闻,派遣黑客盗取ESET安全软件病毒库,联合法院已经介入调查.360于2019/3/10日通过非法途径试图盗取ESET安全软件100MB的病毒库,ESET立即反抗,360黑客电脑立即崩溃, ...
- DB2分页
前言 最近在做一个DB2的项目,遇到分页处理的设计时开始犯难.以前一直采用MySQL作为项目数据库,其中的Limit关键字非常人性化,MySQL把分页的处理逻辑封装到了数据库的核心中,使得做查询设计时 ...
- CVPapers - Computer Vision Resource
To add links (PDF, project,...) you can use the online tool. Computer Vision Paper Indexes ICCV: 20 ...