码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程中拼接字符串

时间:2015-04-07 19:37:42      阅读:168      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!