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

Nie można wybrać z klauzuli UPDATE RETURNING w postgres

Przed PostgreSQL 9.1 INSERT/UPDATE/DELETE mogły być używane tylko jako instrukcje najwyższego poziomu. Dlatego pojawia się błąd składni.

Począwszy od wersji 9.1 można używać instrukcji modyfikujących dane ze wspólnymi wyrażeniami tabelowymi. Twoje przykładowe zapytanie wyglądałoby tak:

WITH updated AS (UPDATE test SET description = 'test' RETURNING id)
SELECT * FROM test WHERE id IN (SELECT id FROM updated);

Bądź ostrożny przy wyborze z właśnie zmodyfikowanej tabeli. W ten sposób możesz uzyskać mylące wyniki. Ponieważ zapytania są wykonywane w tej samej migawce, SELECT nie zobaczy efektów instrukcji UPDATE.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj najczęstszą wartość dla każdej wartości innej kolumny w SQL

  2. Jaki jest najlepszy graficzny interfejs użytkownika PostgreSQL? Porównanie 2021

  3. Idź postgresql LIKE zapytania

  4. Znajdź obiekty zależne dla tabeli lub widoku

  5. Jak porównywać wydajność PostgreSQL