Tsql 两个临时表中只有一个被删除,即使删除这两个临时表的代码相同
我有一段代码,检查临时表是否存在,如果存在,则删除它,然后用数据再次创建该表。然后再次运行此代码块,但用于不同的表 当我运行脚本时,我得到了错误 数据库中已存在名为“#调整”的对象 即使我有一个drop命令。脚本正在毫无问题地删除第一个表,因此我不确定它为什么不删除第二个表Tsql 两个临时表中只有一个被删除,即使删除这两个临时表的代码相同,tsql,sql-server-2005,temp-tables,Tsql,Sql Server 2005,Temp Tables,我有一段代码,检查临时表是否存在,如果存在,则删除它,然后用数据再次创建该表。然后再次运行此代码块,但用于不同的表 当我运行脚本时,我得到了错误 数据库中已存在名为“#调整”的对象 即使我有一个drop命令。脚本正在毫无问题地删除第一个表,因此我不确定它为什么不删除第二个表 --Create a temp table with the total Receipts IF (OBJECT_ID('tempdb..#Receipts') IS NOT NULL) BEGIN DROP TAB
--Create a temp table with the total Receipts
IF (OBJECT_ID('tempdb..#Receipts') IS NOT NULL)
BEGIN
DROP TABLE #Receipts;
END
SELECT TerminalId,
ProductId,
SUM(GrossGallons) AS [GrossGallons],
SUM(NetGallons) AS [NetGallons]
INTO #Receipts
FROM dbo.ReceiptAdjustment WITH (NOLOCK)
WHERE IsReceipt = 1
AND ReceiptAdjustmentDate BETWEEN @StartDate AND @EndDate
GROUP BY TerminalId,
ProductId,
ReceiptAdjustmentDate;
--Create a temp table wth the total Adjustments
IF (OBJECT_ID('tempd..#Adjustments') IS NOT NULL)
BEGIN
DROP TABLE #Adjustments;
END
SELECT TerminalId,
ProductId,
SUM(GrossGallons) AS [GrossGallons],
SUM(NetGallons) AS [NetGallons]
INTO #Adjustments
FROM dbo.ReceiptAdjustment WITH (NOLOCK)
WHERE IsReceipt = 0
AND ReceiptAdjustmentDate BETWEEN @StartDate AND @EndDate
GROUP BY TerminalId,
ProductId,
ReceiptAdjustmentDate;
有一个打字错误
改变
IF (OBJECT_ID('tempd..#Adjustments') IS NOT NULL)
与
tempd.#调整“tempdb”缺少b。
IF (OBJECT_ID('tempdb..#Adjustments') IS NOT NULL)