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

Jak używać dynamicznych nazw kolumn w instrukcji UPDATE lub SELECT w funkcji?

W UPDATE w PL/pgSQL, nazwa tabeli musi być podana jako literał. Jeśli chcesz dynamicznie ustawić nazwę tabeli i kolumny, powinieneś użyć EXECUTE polecenie i wklej ciąg zapytania razem:

EXECUTE 'UPDATE ' || quote_ident(r.relname) ||
       ' SET ' || quote_ident(r.cols_list[1]) || ' = $1, ' || 
                  quote_ident(r.cols_list[2]) || ' = $2' ||
       ' WHERE ' || quote_ident(r.cols_list[1]) || ' = $3 AND ' ||
                    quote_ident(r.cols_list[2]) || ' = $4'
USING ncicd9, ncdesc, ocicd9, ocdesc;

USING Klauzula może być używana tylko do zastępowania wartości danych, jak pokazano powyżej.



  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 włączyć pracę php z postgresql?

  2. Amazon RDS dla alternatyw dla PostgreSQL — ClusterControl dla PostgreSQL

  3. Nieprawidłowe sortowanie/sortowanie/kolejność ze spacjami w Postgresql 9.4

  4. Pierwsze kroki z replikacją strumieniową PostgreSQL

  5. Jak tworzyć i usuwać bazy danych i tabele w PostgreSQL