PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres CASE оператор във вмъкване

Добре, това е заявката за вмъкване с фиксиран синтаксис

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

Ако се опитвате да промените съществуващи редове, имате нужда от заявка за актуализиране, напр.

-- 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Механизми за физическа репликация в PostgreSQL

  2. Създаване на низ от масив

  3. psql:ФАТАЛНО:ролята postgres не съществува (с опция -h localhost)

  4. Rails 3.1:Запитване на Postgres за записи в рамките на времеви диапазон

  5. Как да игнорирам SequelizeUniqueConstraintError в Sequelize?