Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 没有列别名的OPENROWSET?_Sql Server 2008_Openrowset - Fatal编程技术网

Sql server 2008 没有列别名的OPENROWSET?

Sql server 2008 没有列别名的OPENROWSET?,sql-server-2008,openrowset,Sql Server 2008,Openrowset,我试图编写一个查询,将存储过程的结果选择到临时表中。但是,存储过程已设置为在运行时返回1个不带别名的结果。(见下文) 显然,当我尝试将数据选择到临时表中时,会出现错误 对象或列名丢失或为空。选择进入 语句,验证每列是否有名称。对于其他语句,请参见 用于空别名。不允许使用定义为“”或[]的别名。 将别名更改为有效名称 有没有办法解决这个问题,因为我将无法更新过程以输出别名!基本上,我是在追求一种做事的方式 SELECT * INTO #tmptable FROM OPENROWSET ('SQ

我试图编写一个查询,将存储过程的结果选择到临时表中。但是,存储过程已设置为在运行时返回1个不带别名的结果。(见下文)

显然,当我尝试将数据选择到临时表中时,会出现错误

对象或列名丢失或为空。选择进入 语句,验证每列是否有名称。对于其他语句,请参见 用于空别名。不允许使用定义为“”或[]的别名。 将别名更改为有效名称

有没有办法解决这个问题,因为我将无法更新过程以输出别名!基本上,我是在追求一种做事的方式

SELECT * INTO #tmptable
 FROM OPENROWSET ('SQLNCLI', 'Server=ServerName;Trusted_Connection=yes;','SET FMTONLY OFF EXEC sp_name')

如果您知道将从
OPENROWSET
返回多少列,那么可以在插入值之前创建临时表;这允许您为列指定名称

CREATE TABLE #tmptable (Value INT NOT NULL)
INSERT #tmptable
SELECT * FROM OPENROWSET ('SQLNCLI','Server=ServerName;Trusted_Connection=yes;','SET FMTONLY OFF EXEC sp_name')
-- DROP TABLE #tmptable
如果您不知道要返回多少列。。。我不知道这是可能的