博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sp_executesql动态执行sql语句并将结果赋值给一变量
阅读量:7079 次
发布时间:2019-06-28

本文共 525 字,大约阅读时间需要 1 分钟。

需求场景:

需动态拼接sql语句进行执行,并将执行的结果赋值给一指定变量。

样例代码如下:

SELECT  @tableName = TAB_NAME  FROM  dbo.NMR_BLYWBDY WHERE  BLID =@bldm AND TAB_TYPE='0'SELECT @sql= 'SELECT DISTINCT top 1 @a= KBLMINXH FROM '+@tableName+' WHERE PAGENO=(SELECT MAX(PAGENO) FROM '+@tableName+')'EXEC sp_executesql @sql,N'@a varchar(9) output',@kblminxh OUTPUT

 注意:声明kblminxh等输出参数时应当为ntext,nvarchar,nchar类型,否则会报这个错过程需要参数'@statement' 'ntext/nchar/nvarchar' 类型。

 说明:@sql里的@a是作为输出参数的,@a又把值赋值给@kblminxh,感觉像是动态传递变量值。sp_executesql是比较快。

注sp_executesql是2005引入的系统函数,自行查询其好处。

转载地址:http://ddpml.baihongyu.com/

你可能感兴趣的文章
使用“一键清理”功能要防止删除WORD文档
查看>>
SVN常用命令
查看>>
内存模型
查看>>
【C++】区分接口继承和实现继承
查看>>
转 jQuery插件Highcharts、flexigrid实践
查看>>
Windows Phone 8 SDK RC 版推出
查看>>
Database2Sharp代码生成工具使用心得
查看>>
稀疏矩阵的十字链表存储
查看>>
【算法导论第13章】红黑树
查看>>
对PostgreSQL中bufmgr.c 中 bufs_to_lap的初步理解
查看>>
Windows 内存分析之路 --How to use Resource Monitor
查看>>
文件上传
查看>>
理解maven的核心概念
查看>>
一个简单的名片管理程序(C#)
查看>>
max tablename length limit in MySQL is 64
查看>>
Ubuntu 12.04 中国科学技术大学源
查看>>
(转)c#实现WinRAR解压缩
查看>>
MIME
查看>>
NetworkInterface的使用
查看>>
在IIS上启用Gzip压缩(HTTP压缩)
查看>>