Voglio scrivere una singola istruzione Postgres SQL che dice cercare un utente con colore X e luminosità Y. Se quell'utente esiste, restituisce tutti i suoi dati di riga. In caso contrario, creare una nuova riga e passare ulteriori informazioni. I due prospetti separati avrebbero fare qualcosa di simile:Scrivi un Postgres Ottieni o crea query SQL
Select (color, brightness, size, age) FROM mytable WHERE color = 'X' AND brightness= 'Y';
Se questo non restituisce nulla, quindi eseguire questo:
INSERT INTO mytable (color, brightness, size, age) VALUES (X, Y, big, old);
C'è un modo per combinare questi in una singola query ??
Vedendo la clausola 'RETURNING' di postgresql nelle istruzioni' INSERT', inizialmente speravo che si potesse combinare un insert con una select in una istruzione usando un union, ma l'ho provato e sfortunatamente le letture e le scritture sono davvero impossibili da mixare quel modo. – didierc