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

Вземете броя на записите, засегнати от INSERT или UPDATE в PostgreSQL

Знам, че този въпрос е oooolllllld и моето решение може би е твърде сложно, но това е любимият ми вид решение!

Както и да е, трябваше да направя същото и го накарах да работи по следния начин:

-- Get count from INSERT
WITH rows AS (
    INSERT INTO distributors
        (did, dname)
    VALUES
        (DEFAULT, 'XYZ Widgets'),
        (DEFAULT, 'ABC Widgets')
    RETURNING 1
)
SELECT count(*) FROM rows;

-- Get count from UPDATE
WITH rows AS (
    UPDATE distributors
    SET dname = 'JKL Widgets'
    WHERE did <= 10
    RETURNING 1
)
SELECT count(*) FROM rows;

Един от тези дни наистина трябва да напиша любовен сонет към клаузата WITH на PostgreSQL ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как Asind() работи в PostgreSQL

  2. Сравнителни показатели за PostgreSQL Meltdown

  3. В PostgreSQL, как да вмъкна данни с команда COPY?

  4. Генерирайте DDL програмно на Postgresql

  5. PostgreSQL неправилно сортиране