首页 > 其他 > 详细

存储过程中拼接字符串

时间:2015-04-07 19:34:54      阅读:148      评论:0      收藏:0      [点我收藏+]

1.将查询数据插入临时表

最开始我这么写的

DECLARE @sql varchar(max)
SET @sql=select * into #tmp from tb
EXEC(@sql)
SELECT * FROM #tmp

报错

对象名‘#tmp‘无效

可以改成这样子

CREATE TABLE #tmp(....)
DECLARE @sql varchar(max)
SET @sql=select *  from tb
INSERT #tmp EXEC(@sql)
SELECT * FROM #tmp

即先创建一个临时表,然后把数据插入临时表中。

可以直接使用全局临时表实现这个功能

DECLARE @sql varchar(max)
SET @sql=select * into ##tmp from tb
EXEC(@sql)
SELECT * FROM ##tmp

2.将查询结果保存到变量

开始我是这么写的

DECLARE @sum INT
DECLARE @sql varchar(max)
SET @sql=select @sum=sum(f1) from tb
EXEC sp_executesql @sql,N@sum int,@sum output

会报错

过程需要类型为‘ntext/nchar/nvarchar‘的参数‘@statement‘

发现需要把@sql的类型从varchar改成nvarchar

存储过程中拼接字符串

原文:http://www.cnblogs.com/ecosu/p/4399020.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!