Postgresql
INSERT … SELECT 和 SELECT INTO 有什麼區別
假設我有一張桌子
item
和另一張桌子versionned_item
。有時,我想將數據從 複製item
到versionned_item
. 我所做的是WITH subset AS (SELECT ...) INSERT INTO versionned_item SELECT ... FROM subset
但是在文件中,我遇到了
SELECT INTO
似乎做完全相同的事情的聲明,所以我想知道這兩種插入是否存在差異/良好做法。
SELECT INTO 通常用於將特定的數據集選擇到表中,尤其是在表中的數據是優先級而不是約束的情況下。如果還沒有這樣的表,它會自動創建一個表。但是,當您已經有一個具有特定定義約束的表並且需要從不同的表中添加數據時,使用 INSERT INTO。