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

Jak można używać składni INSERT ... ON CONFLICT (id) DO UPDATE... z identyfikatorem sekwencji?

Ok, po prostu to wypracowałem. Przeczytałem ten świetny artykuł Neila Conwaya:http://www.neilconway.org/docs/sequences /

Gdzie pokazuje użycie DEFAULT słowo kluczowe, aby poinformować bazę danych o użyciu wartości sekwencji dla kolumny.

Oto zaktualizowany przykład, który teraz działa:

INSERT INTO tbltest (
    tbltest_ID,
    tbltest_Name,
    tbltest_Description) 
VALUES 
(DEFAULT, 'new record','new record description'),
(4, 'existing record name','existing record description')
ON CONFLICT (tbltest_ID) DO UPDATE SET (
    tbltest_Name,
    tbltest_Description) = (
    excluded.tbltest_Name,
    excluded.tbltest_Description) RETURNING *;

Mam nadzieję, że to komuś pomoże;-)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails schema.rb nie zawiera nowej niestandardowej funkcji Postgres

  2. postgresql COUNT(DISTINCT...) bardzo wolno

  3. Czy PostGIS można wykorzystać do stworzenia mapy siatkowej kraju?

  4. Rails Postgres - Zapytanie w kolumnie Jsonb

  5. wybierz promień z ST_MinimumBoundingRadius