sql-server - TSQL Openquery 未创建临时表
问题描述
我有以下代码:
declare @cQuery varchar(2000);
declare @cTSQL varchar(2000);
declare @cLinkServer varchar(20);
declare @cTable varchar(20);
set @cQuery = 'SELECT iln.product_nbr FROM axs.pub.ivc_line iln';
set @cLinkServer = 'RBDAX1';
set @cTable = '#tempInv';
if OBJECT_ID('tempdb..#tempInv') is not null
drop table #tempInv
--SELECT * INTO #tempInv FROM OPENQUERY(RBDAX1,'SELECT iln.product_nbr FROM axs.pub.ivc_line iln');
set @cTSQL =
'SELECT * '
+ ' INTO #tempInv '
+ ' FROM OPENQUERY(RBDAX1,''SELECT iln.product_nbr FROM axs.pub.ivc_line iln'')'
;
exec ( @cTSQL );
当我调用 exec (@cTSQL); 临时表尚未创建。
当我运行注释掉的行时:
SELECT *
INTO #tempInv
FROM OPENQUERY(RBDAX1, 'SELECT iln.product_nbr FROM axs.pub.ivc_line iln');
临时表创建得很好。
我在这里想念什么?
解决方案
您不能以这种方式创建临时表。临时表已创建,但在查询结束的那一刻“消失”。您可以创建一个表并进行插入/选择。
推荐阅读
- python-3.x - 具有不同限制的轴的 Matplotlib 方形主要/次要网格
- python - TypeError 消息使用名称而不是 qualname
- vba - 循环不移动到下一个文件
- xamarin - 在移动设备中安装 2 个不同的 Xamarin 应用程序时面临问题
- mysql - 在下面的查询中输入为 0 的 Null
- python - Bin pandas 基于值的浮动列
- java - aspectJ 切入点如何与动态选择器一起使用?
- php - 追加两个多维数组,然后在 PHP 中按时间戳值排序
- excel - .FormulaR1C1 = Application.WorksheetFunction.CountIfs 参数不起作用
- javascript - 如何使用 Javascript 循环遍历数组并更改和添加额外的 HTML,以输出带有这些值的一些文本?