| From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
|---|---|
| To: | "Day, David" <dday(at)redcom(dot)com> |
| Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
| Subject: | Re: Instead trigger on a view to update base tables ? |
| Date: | 2018-08-07 19:16:49 |
| Message-ID: | CAKFQuwZQzWZkGZ0=1kFVPjG=n4JEb5KD4a9chyXsFndFCYA2Dw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Tue, Aug 7, 2018 at 12:09 PM, Day, David <dday(at)redcom(dot)com> wrote:
> EXECUTE format(' UPDATE admin.user SET (%I) = ( SELECT %I FROM $1 ) WHERE
> id = $2)', USER_SETTING, USER_SETTING )
> USING NEW, NEW.id;
>
> When this executes my exception handler generates "err syntax error at or
> near \"$1\"
>
The value after FROM must be an identifier and so cannot be parameterized.
You have to use "%I" for that dynamic element as well - only $2 (which
becomes $1) is valid to parameterize (though you could just do "%L" and
drop the USING clause on the EXECUTE...)
David J.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Marcelo Lacerda | 2018-08-07 19:17:18 | check_function_bodies not doing much |
| Previous Message | Day, David | 2018-08-07 19:09:03 | Instead trigger on a view to update base tables ? |