Postgresql

INSERT … SELECT 和 SELECT INTO 有什麼區別

  • August 27, 2014

假設我有一張桌子item和另一張桌子versionned_item。有時,我想將數據從 複製itemversionned_item. 我所做的是

  WITH
    subset AS (SELECT ...)
    INSERT INTO versionned_item SELECT ... FROM subset

但是在文件中,我遇到了SELECT INTO似乎做完全相同的事情的聲明,所以我想知道這兩種插入是否存在差異/良好做法。

SELECT INTO 通常用於將特定的數據集選擇到表中,尤其是在表中的數據是優先級而不是約束的情況下。如果還沒有這樣的表,它會自動創建一個表。但是,當您已經有一個具有特定定義約束的表並且需要從不同的表中添加數據時,使用 INSERT INTO。

引用自:https://dba.stackexchange.com/questions/75045