sql >> Databáze >  >> RDS >> PostgreSQL

Jak používat dynamické názvy sloupců v příkazu UPDATE nebo SELECT ve funkci?

V UPDATE v PL/pgSQL, název tabulky musí být uveden jako doslovný. Pokud chcete dynamicky nastavit název tabulky a sloupce, měli byste použít EXECUTE a vložte řetězec dotazu dohromady:

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 klauzuli lze použít pouze pro nahrazení datových hodnot, jak je uvedeno výše.



  1. Jak bezpečně ukládat hesla do databáze?

  2. 5 Microsoft Access Tipy a triky

  3. Znovu uspořádat / resetovat primární klíč automatického zvýšení

  4. Jak obnovit databázi MySQL ze souborů .myd, .myi, .frm