Foxtable(狐表)用户栏目专家坐堂 → 如何将一个sql储存过程得到的表插入临时表中?


  共有2304人关注过本帖树形打印复制链接

主题:如何将一个sql储存过程得到的表插入临时表中?

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1909 积分:16987 威望:0 精华:0 注册:2014/7/29 19:09:00
如何将一个sql储存过程得到的表插入临时表中?  发帖心情 Post By:2019/2/23 13:44:00 [只看该作者]

DECLARE @sql NVARCHAR(MAX);
SET @sql = ......
EXEC sp_executesql @sql

上面的语句执行后可以得到一个表,如果想将这个表直接插入到临时表中,要怎么写呢?

INSERT INTO #temp1 SELECT * FROM (EXEC sp_executesql @sql);

总是出错,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/23 14:07:00 [只看该作者]

INSERT INTO #temp1 EXEC sp_executesql @sql;

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1909 积分:16987 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2019/2/23 14:45:00 [只看该作者]

因为储存过程生成的表列是变动的,无法固定,所以只能用生成新表的方式 

SELECT *  INTO #temp1 FROM EXEC sp_executesql @sql

那应该怎么写呢?
谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/23 16:49:00 [只看该作者]

没有这种用法

 回到顶部