【发布时间】:2012-07-19 14:37:37
【问题描述】:
这是我的场景。 (以下是我的存储过程以@date 作为输入参数)
DECLARE @date DATE
If object_id('tempdb..#TempList') is not null drop table #TempList
go
Create table #TempList (MILL_NO VARCHAR(7), SHIP_DATE DATE, BL_STATUS NCHAR(1),
FOOTAGE DECIMAL(12,4))
If @date IS NULL
Insert into #TempList
Select mill_no, null, bl_status,footage from fn_A(0,0)
Select * from #TempList
If object_id('tempdb..#TempList') is not null drop table #TempList
go
Create Table #TempList (MILL_NO VARCHAR(7), SHIP_DATE DATE, BL_STATUS NCHAR(1),
FOOTAGE DECIMAL(12,4))
If @date IS NOT NULL
Insert into #TempList
Select * from fn_B(0,'06/06/2006')
Select * from #TempList
我从其中一篇文章中发现,除非包含 GO,否则我不能使用具有相同名称的临时表。但是,包括 GO 并没有采用我尝试传递的参数。
是否有替代方法来消除此错误?
【问题讨论】:
-
为什么要删除并重新创建临时表?为什么不直接截断它?
标签: sql temp-tables