我正在嘗試從表中選擇一行默認值。但是,我不想在原始表格中創建一個新行。我的原始表具有爲所有列定義的非空默認值(全部爲空或零)(除了唯一的唯一標識符)。我首先創建一個臨時表:將一行默認值插入臨時表
SELECT
TOP 0 *
INTO
#Table
FROM
Database.dbo.Table
然後我檢查空表:
SELECT
*
FROM
#Table
一切正常爲止。沒有行,但是我可以看到原始表中的所有列。於是,我試圖插入單行與默認值表中的所有列:
INSERT INTO
#Table
DEFAULT VALUES
而不是成功,我得到以下錯誤:
Cannot insert the value NULL into column 'Column',
table 'tempdb.dbo.#Table___0001A';
column does not allow nulls. INSERT fails.
接下來我試圖插入一個行只定義了一個字段。
INSERT INTO
#Table
(Column)
VALUES
('Value')
相同的結果。看來我的原始表的列默認值的定義並未包含在臨時表的創建中。有什麼建議麼?