In een UPDATE
statement in PL/pgSQL, moet de tabelnaam letterlijk worden opgegeven. Als u de tabelnaam en de kolommen dynamisch wilt instellen, moet u de EXECUTE
. gebruiken commando en plak de queryreeks samen:
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;
De USING
clausule kan alleen worden gebruikt voor het vervangen van gegevenswaarden, zoals hierboven weergegeven.