PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

PILIH atau MASUKKAN satu baris dalam satu perintah

Sudahkah Anda mencoba menyatukannya?

Sunting - ini membutuhkan Postgres 9.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';

menghasilkan:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak ada driver yang cocok ditemukan saat menyertakan driver yang dibutuhkan dengan maven-assembly-plugin

  2. Cara mencadangkan dan memulihkan database PostgreSQL

  3. PostgreSql :Json Array ke Baris menggunakan Lateral Join

  4. Postgres - Ubah daftar adjacency menjadi objek JSON bersarang

  5. Ancaman Keamanan PostgreSQL Teratas