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">>=C2=A0 I can give code when I get hom= e, but it'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:"= ;Open Sans",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 <<a= href=3D"mailto:[email protected]">[email protected]</a>> 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'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--