我在MSSQL 2008中有一个存储过程,在这里我创建了一个临时表,然后我执行了几个插入临时表。 我如何选择存储过程之外的临时表的所有列?我是说,我有这样的:从SP和临时表中选择值
CREATE PROCEDURE [dbo].[LIST_CLIENTS]
CREATE TABLE #CLIENT(
--Varchar And Numeric Values goes here
)
/*Several Select's and Insert's against the Temporary Table*/
SELECT * FROM #CLIENT
END
在另一个查询我这样做:
sp_configure 'Show Advanced Options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO
SELECT *
INTO #CLIENT
FROM OPENROWSET
('SQLOLEDB','Server=(local);Uid=Cnx;pwd=Cnx;database=r8;Trusted_Connection=yes;
Integrated Security=SSPI',
'EXEC dbo.LIST_CLIENTS ''20110602'', NULL, NULL, NULL, NULL, NULL')
,但我得到这个错误:
Msg 208, Level 16, State 1, Procedure LIST_CLIENTS, Line 43
Invalid object name '#CLIENT'.
我试着全局临时表和它不起作用。 我知道这是临时表的范围,但是,如何获得SP范围之外的表?
在此先感谢
能否请您标记与SQL Server的版本,您正在使用的问题?另外,如果您使用的是可信连接,那么为什么您要通过uid和pwd? –
你知道全局临时表是用##声明的吗? –
@AaronBertrand Tagged –