sql >> Database >  >> RDS >> PostgreSQL

Schrijf een Postgres Get or Create SQL Query

In een SQL DBMS is de select-test-insert-benadering een vergissing:niets verhindert een ander proces om de "ontbrekende" rij in te voegen tussen uw select en insert verklaringen. Doe dit in plaats daarvan:

INSERT INTO mytable (color, brightness, size, age)
SELECT color, brightness, size, age 
FROM mytable
WHERE NOT EXISTS (
    select 1 from 
    from mytable
    where color = 'X' and brightness = 'Y'
);
SELECT (color, brightness, size, age) 
FROM mytable 
WHERE color = 'X' AND brightness= 'Y';

Je zou in staat moeten zijn om die hele tekst als een enkele "query" door te geven aan het DBMS. Je zou kunnen overwegen om er een opgeslagen procedure van te maken.



  1. Hoe SQL-script in MySQL uit te voeren?

  2. Selecteer het aantal rijen in een andere tabel in een Postgres SELECT-instructie

  3. Mijn hashes zouten met PHP en MySQL

  4. Een gegevensmodel voor een app voor het boeken van medische afspraken