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

1つのコマンドで行を選択または挿入する

    結合しようとしましたか?

    編集-これにはPostgres9.1が必要です:

    create table mytable (id serial primary key, other_key varchar not null unique);
    
    WITH new_row AS (
    INSERT INTO mytable (other_key)
    SELECT 'SOMETHING'
    WHERE NOT EXISTS (SELECT * FROM mytable WHERE other_key = 'SOMETHING')
    RETURNING *
    )
    SELECT * FROM new_row
    UNION
    SELECT * FROM mytable WHERE other_key = 'SOMETHING';
    

    結果:

     id | other_key 
    ----+-----------
      1 | SOMETHING
    (1 row)
    


    1. psycopg2のパラメーターとしてテーブル名を渡す

    2. MySQLを使用した大規模な結果セットのストリーミング

    3. .NET / SQL Serverの接続プール?

    4. SQLServerでGroupby句とHaving句を使用して重複レコードを見つける方法-SQLServer/TSQLチュートリアルパート132