Re: For each statement trigger and update table

Rene Romero Benavides <[email protected]> Fri, 3 Jan 2020 17:39:18 -0600
Newsgroups gmane.comp.db.postgresql.sql
Message-ID <CANaGW0-O3E0Pq5TnkWcobyH59YwPvVq7JMf=s75b2NeoWcra+g@mail.gmail.com>
--00000000000020b776059b44d268
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

>  I can give code when I get home, but it's pretty simple stuff
please do so, along with your trigger definition. Are you aware that you
can define your update trigger to fire on a specific column?

https://www.postgresql.org/docs/current/sql-createtrigger.html

For UPDATE events, it is possible to specify a list of columns using this
syntax:

UPDATE OF column_name1 [, column_name2 ... ]



On Fri, Jan 3, 2020 at 5:21 PM Mike Martin <[email protected]> wrote:

> Not sure if this is possible
> Basically I want to have a trigger which updates an array column in the
> same table when a column is updated
> This works as a row level trigger, but not as per statement
> I have hit the recursive issue (where update fires update trigger which
> fires etc)
> According to the docs I cannot use columns and relative tables together
>
> So any suggestions? I can give code when I get home, but it's pretty
> simple stuff
>


--=20
El genio es 1% inspiraci=C3=B3n y 99% transpiraci=C3=B3n.
Thomas Alva Edison
http://pglearn.blogspot.mx/

--00000000000020b776059b44d268
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">&gt;=C2=A0 I can give code when I get hom=
e, but it&#39;s pretty simple stuff=C2=A0</div><div>please do so, along wit=
h your trigger definition. Are you aware that you can define your update tr=
igger to fire on a specific column?</div><div><br></div><div><a href=3D"htt=
ps://www.postgresql.org/docs/current/sql-createtrigger.html">https://www.po=
stgresql.org/docs/current/sql-createtrigger.html</a>=C2=A0=C2=A0<br></div><=
div><p style=3D"box-sizing:border-box;color:rgb(13,10,11);font-family:&quot=
;Open Sans&quot;,sans-serif;font-size:14.4px;margin:1rem 0px 1rem 2rem">For=
=C2=A0<tt class=3D"gmail-LITERAL" style=3D"box-sizing:border-box;border-rad=
ius:0.25rem;margin:0.6rem 0px;font-size:0.9rem;color:inherit;background-col=
or:rgb(248,249,250)">UPDATE</tt>=C2=A0events, it is possible to specify a l=
ist of columns using this syntax:</p><pre class=3D"gmail-SYNOPSIS" style=3D=
"box-sizing:border-box;font-family:monospace,monospace;font-size:14.4px;ove=
rflow:auto;color:rgb(13,10,11);border-radius:0.25rem;border:1px solid rgb(2=
06,212,218);margin-top:1rem;margin-bottom:1rem;margin-left:2rem;background-=
color:rgb(248,249,250);padding:0.8rem">UPDATE OF <tt class=3D"gmail-REPLACE=
ABLE gmail-c2" style=3D"box-sizing:border-box;font-weight:900;font-style:it=
alic;border-radius:0.25rem;margin:0.6rem 0px;font-size:0.9rem;color:inherit=
">column_name1</tt> [, <tt class=3D"gmail-REPLACEABLE gmail-c2" style=3D"bo=
x-sizing:border-box;font-weight:900;font-style:italic;border-radius:0.25rem=
;margin:0.6rem 0px;font-size:0.9rem;color:inherit">column_name2</tt> ... ]<=
/pre></div><div><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"=
ltr" class=3D"gmail_attr">On Fri, Jan 3, 2020 at 5:21 PM Mike Martin &lt;<a=
 href=3D"mailto:[email protected]">[email protected]</a>&gt; wrote:<b=
r></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex=
;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"auto"=
>Not sure if this is possible<div dir=3D"auto">Basically I want to have a t=
rigger which updates an array column in the same table when a column is upd=
ated</div><div dir=3D"auto">This works as a row level trigger, but not as p=
er statement</div><div dir=3D"auto">I have hit the recursive issue (where u=
pdate fires update trigger which fires etc)</div><div dir=3D"auto">Accordin=
g to the docs I cannot use columns and relative tables together</div><div d=
ir=3D"auto"><br></div><div dir=3D"auto">So any suggestions? I can give code=
 when I get home, but it&#39;s pretty simple stuff=C2=A0</div></div>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature">El genio es 1% inspiraci=C3=B3n y 99% transpirac=
i=C3=B3n.<br>Thomas Alva Edison<br><a href=3D"http://pglearn.blogspot.mx/" =
target=3D"_blank">http://pglearn.blogspot.mx/</a><br><div style=3D"padding:=
0px;margin-left:0px;margin-top:0px;overflow:hidden;color:black;font-size:10=
px;text-align:left;line-height:130%"></div><div><br></div></div>

--00000000000020b776059b44d268--