我有一个关于删除临时表的问题:
IF OBJECT_ID('dbo.#Scores', 'U') IS NOT NULL
DROP TABLE dbo.#Scores
我有超过8种不同的#temp表。有没有办法编写上面的代码来包含所有这些临时表,而不必编写7个表的代码:
IF OBJECT_ID('dbo.#Scores1', 'U') IS NOT NULL
DROP TABLE dbo.#Scores1
IF OBJECT_ID('dbo.#Scores2', 'U') IS NOT NULL
DROP TABLE dbo.#Scores2
IF OBJECT_ID('dbo.#Scores3', 'U') IS NOT NULL
DROP TABLE dbo.#Scores4
IF OBJECT_ID('dbo.#Scores1', 'U') IS NOT NULL
DROP TABLE dbo.#Scores4
有没有办法在4行代码中包含所有#temp表?
答案 0 :(得分:0)
您可以在DROP TABLE
语句中包含多个表。
这将删除所有存在的内容并为任何不存在的内容引发错误。
如果您不希望报告这些错误,则需要使用try..catch。
BEGIN TRY
DROP TABLE #Scores1,
#Scores2,
#Scores3,
#Scores4,
#Scores5,
#Scores6,
#Scores7,
#Scores8
END TRY
BEGIN CATCH
END CATCH