sql >> データベース >  >> RDS >> PostgreSQL

あるテーブルから別のテーブルにデータを移動する、postgresqlエディション

    [dvvの回答を拡張する]

    次のようにして、既存のテーブルに移動できます。一致しないスキーマの場合は、列を指定する必要があります。

    WITH moved_rows AS (
        DELETE FROM <original_table> a
        USING <other_table> b
        WHERE <condition>
        RETURNING a.* -- or specify columns
    )
    INSERT INTO <existing_table> --specify columns if necessary
    SELECT [DISTINCT] * FROM moved_rows;
    

    ただし、データを新しいに移動する必要があります テーブル(既存のものではありません)、外部構文が異なります:

    CREATE TABLE <new_table> AS
    WITH moved_rows AS (
        DELETE FROM <original_table> a
        USING <other_table> b
        WHERE <condition>
        RETURNING a.* -- or specify columns
    )
    SELECT [DISTINCT] * FROM moved_rows;
    


    1. SQLServer全文検索を使用して製品分析を実行します。パート1

    2. Oracleはnullと空の文字列を区別していませんか?

    3. JavaのJPAテクノロジーとは何ですか?

    4. SQL Server:NVARCHARのダークサイド