Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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 SQL Server 2008:从存储过程中将*选择到TMP中_Sql Server_Tsql - Fatal编程技术网

Sql server SQL Server 2008:从存储过程中将*选择到TMP中

Sql server SQL Server 2008:从存储过程中将*选择到TMP中,sql-server,tsql,Sql Server,Tsql,我希望做以下工作: select * into tmptbl from sometable 除了“sometable”是一个返回结果集的存储过程之外,编辑存储过程以满足我的目标不是一个选项。此外,我可能知道也可能不知道过程返回的列和类型 基本上,我正在寻找一种合适的方法: 从exec someSP选择*进入tmptbl 这是否可能,如果可能,如何实现?是的,这样的环回查询是可能的 SELECT * INTO #tmptbl FROM OPENROWSET ('SQLOLEDB','S

我希望做以下工作:

select * into tmptbl from sometable
除了“sometable”是一个返回结果集的存储过程之外,编辑存储过程以满足我的目标不是一个选项。此外,我可能知道也可能不知道过程返回的列和类型

基本上,我正在寻找一种合适的方法:

从exec someSP选择*进入tmptbl


这是否可能,如果可能,如何实现?

是的,这样的环回查询是可能的

SELECT * INTO #tmptbl 
    FROM OPENROWSET ('SQLOLEDB','Server=(local);TRUSTED_CONNECTION=YES;'
   ,'set fmtonly off exec DatabaseName.dbo.someSP')
更多示例如下:


请注意,必须首先打开此选项,请参见此处:

是的,这样的环回查询是可能的

SELECT * INTO #tmptbl 
    FROM OPENROWSET ('SQLOLEDB','Server=(local);TRUSTED_CONNECTION=YES;'
   ,'set fmtonly off exec DatabaseName.dbo.someSP')
更多示例如下:


请注意,必须首先打开此功能,请参见此处:

那么您要将存储过程的结果转换为临时表?是的,这就是我希望实现的。那么您要将存储过程的结果转换为临时表?是的,这就是我希望实现的。我刚刚写了同样的东西。这并不漂亮,但它可以工作。不好,“临时分布式查询”没有启用,我不是管理员。这是我知道这项工作的唯一方式,但这必须首先在默认安装上完成:exec sp_configure“show advanced options”,1;重新配置;exec sp_配置“临时分布式查询”,1;重新配置;去很难看,但很管用,谢谢:)是的,你看,我也在写同样的东西。这并不漂亮,但它可以工作。不好,“临时分布式查询”没有启用,我不是管理员。这是我知道这项工作的唯一方式,但这必须首先在默认安装上完成:exec sp_configure“show advanced options”,1;重新配置;exec sp_配置“临时分布式查询”,1;重新配置;去难看,但它的工作,谢谢:)是的,也看到这里