如何插入[临时表] FROM [存储过程]并选择* FROM [临时表]

时间:2011-01-23 04:11:31

标签: sql sql-server

我有类似

的东西
Create TABLE #members
(   
    [member_id] [bigint] NOT NULL,
    [registration_id] [int] NOT NULL,
    [date_modified] [datetime] NULL,
    [date_created] [datetime] NULL
)
INSERT #members
(
    [member_id],
    [registration_id],
    [date_modified],
    [date_created]
)
EXEC
dbo._roster_member_GetMemberContacts_byMember_id @Member_id = 1000
Select * from #members 

当我在查询分析器窗口中运行它时: 数据库中已经有一个名为“#members”的对象。

2 个答案:

答案 0 :(得分:4)

在查询分析器中,除非您明确DROP临时表,否则临时表将在查询分析器窗口的生命周期内存在。

答案 1 :(得分:3)

使用以下习语:

if object_id('tempdb..#temptable', 'U') is not null
    drop table #temptable
create table #temptable ( ... )
... rest of SQL ...

显然用你临时表的名字代替。