En un UPDATE
declaración en PL/pgSQL, el nombre de la tabla debe darse como un literal. Si desea establecer dinámicamente el nombre de la tabla y las columnas, debe usar EXECUTE
comando y pegue la cadena de consulta:
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;
El USING
La cláusula solo se puede usar para sustituir valores de datos, como se muestra arriba.