PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Uzyskaj liczbę rekordów, których dotyczy INSERT lub UPDATE w PostgreSQL

Wiem, że to pytanie brzmi oooolllllld, a moje rozwiązanie jest prawdopodobnie zbyt skomplikowane, ale to mój ulubiony rodzaj rozwiązania!

W każdym razie musiałem zrobić to samo i sprawić, by działało tak:

-- 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;

Któregoś dnia naprawdę muszę zabrać się za napisanie sonetu miłosnego do klauzuli 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. Jak Asin() działa w PostgreSQL

  2. Jak działa Width_Bucket() w PostgreSQL

  3. Jak wyświetlić listę tabel dotkniętych kaskadowym usuwaniem?

  4. Nazwa tabeli lub kolumny nie może zaczynać się od cyfry?

  5. Jak porównać bieżący wiersz z następnym i poprzednim wierszem w PostgreSQL?