sql >> Databasteknik >  >> RDS >> PostgreSQL

VÄLJ eller INFOGA en rad i ett kommando

Har du försökt att förena det?

Redigera - detta kräver 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';

resulterar i:

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


  1. Det går inte att logga in på SQL Server + SQL Server Authentication + Fel:18456

  2. Vad är Percona DB

  3. PostgreSQL-funktion som returnerar flera resultatuppsättningar

  4. Använder bindningsvariabler med dynamisk SELECT INTO-sats i PL/SQL