我尝试编写查询以将存储过程的结果选择到临时表中。但是,已设置存储过程,以便在运行时返回1结果,不带别名。 (见下文)
当我尝试将数据选入临时表时,显然会出现错误。
对象或列名称缺失或为空。对于SELECT INTO 声明,验证每列是否有名称。对于其他陈述,请查看 对于空别名。别名定义为""或[]是不允许的。 将别名更改为有效名称。
有没有办法围绕这个,因为我将无法更新程序输出别名!基本上是我做了一个方法
SELECT * INTO #tmptable
FROM OPENROWSET ('SQLNCLI', 'Server=ServerName;Trusted_Connection=yes;','SET FMTONLY OFF EXEC sp_name')
答案 0 :(得分:2)
如果您知道将从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
如果您不知道要返回多少列......我不知道这是可能的。