我明白調試器做的臨時表,但我真的不同意它,如下面的應該只是工作的肯定:反覆創建和刪除同名
IF OBJECT_ID('TEMPDB..#extract') IS NOT NULL DROP TABLE #extract;
CREATE TABLE #extract(
x VARCHAR(100),
NumX_Rank NUMERIC(18,2),
NumG_Rank NUMERIC(18,2)
);
IF OBJECT_ID('TEMPDB..#extract') IS NOT NULL DROP TABLE #extract;
CREATE TABLE #extract(
x VARCHAR(100),
NumX_Rank NUMERIC(18,2),
NumG_Rank NUMERIC(18,2)
);
錯誤信息如下:
消息2714,級別16,狀態1,行15數據庫中已有一個名爲 '#extract'的對象。
請注意 - 我有變量聲明,我需要貫穿整個腳本,即腳本是存儲過程的一部分,變量應該在整個proc中有一個範圍。
如果你要對臨時表相同的結構貫穿始終,爲什麼不'TRUNCATE TABLE'取代'接着'CREATE' DROP'? – alroc
@alroc公平的建議。是否可以不使用「GO」或「TRUNCATE」? – whytheq
這個問題沒有道理。我建議你使用'TRUNCATE',但是你問是否可以在不使用'TRUNCATE'的情況下使用'TRUNCATE'?我說的是:一次**創建表**。如果您需要清空並重新填充它,請使用'TRUNCATE TABLE'而不是'DROP'來重新創建它。 – alroc