sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgres CASE-erklæring i et indlæg

OK, dette er indsættelsesforespørgslen med fast syntaks

 INSERT INTO MyTable (value1, value2) 
        SELECT t.name,
              CASE WHEN t.name IN ('MyName') THEN 1
              ELSE 2
            END AS value2
           FROM MyTable;

Hvis du forsøger at ændre eksisterende rækker, skal du have en opdateringsforespørgsel, f.eks.

-- first update, set value1 to 1 and value2 for all rows
UPDATE MyTable set value1 = 1,value2 = 2;

-- next query. Set value2 = 1 for only those rows matching your criteria
 UPDATE MyTable
    SET value2 = 1 WHERE name IN ('MyName');



  1. Mysql til Postgresql konverteringsværktøj i Java

  2. Hvordan JOIN kategori tabel for forældre i SQL-forespørgsel?

  3. PHP mysql-formular, FAST

  4. Definer tabel- og kolonnenavne som argumenter i en plpgsql-funktion?