В UPDATE
оператор в PL/pgSQL, името на таблицата трябва да бъде дадено като литерал. Ако искате да зададете динамично името на таблицата и колоните, трябва да използвате EXECUTE
команда и поставете заедно низа на заявката:
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
клаузата може да се използва само за заместване на стойности на данни, както е показано по-горе.