In un UPDATE
istruzione in PL/pgSQL, il nome della tabella deve essere dato come valore letterale. Se vuoi impostare dinamicamente il nome della tabella e le colonne, dovresti usare EXECUTE
comando e incollare la stringa di query insieme:
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;
Il USING
La clausola può essere utilizzata solo per sostituire i valori dei dati, come mostrato sopra.