Tigger after delete with plpgsql
Hello, I`m try to use this code for my After Delete trigger:
delete
from MOVIMENTO
where (IDEMPRESA = OLD.idempresa) and
(upper(TABELA) = 'NFENTRADA_ITEM') and
(CODIGO = OLD.idempresa_item);
But, when execute. show me error.. that`s says
"old is not initialize" (sorry,but I dont know how exactly error msy
because in my SO, give in portuguese)..
my question is: how can I use OLd and NEW in posgre?
Best Regards,
T.·.F.·.A.·. S+F
*Fellipe Henrique P. Soares*
*"Life is a game without Tutorial"*
On Friday, August 31, 2012 02:10:47 PM Fellipe Henrique wrote:
Hello, I`m try to use this code for my After Delete trigger:
delete
from MOVIMENTO
where (IDEMPRESA = OLD.idempresa) and
(upper(TABELA) = 'NFENTRADA_ITEM') and
(CODIGO = OLD.idempresa_item);But, when execute. show me error.. that`s says
"old is not initialize" (sorry,but I dont know how exactly error msy
because in my SO, give in portuguese)..my question is: how can I use OLd and NEW in posgre?
Just like that. Which implies something else is wrong. Please post the whole
trigger function and a \d of the table where this trigger is used, and the SQL
that you are executing that results in the error.
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#333333">
Hi,<br>
<br>
You're using a trigger AFTER, in your case could be BEFORE?<br>
Cause when you use AFTER the var OLD not exists...<br>
I don't know if I understand exactly what you'll do to ativate this
trigger..<br>
but I think maybe is it..<br>
<br>
try..<br>
<br>
<br>
Em 31/08/2012 14:10, Fellipe Henrique escreveu:
<blockquote
cite="mid:CAF1jwZH+cXLCwHwZCF53eBtXADm=u4B_+6kQqJA9GfmctJ=Zaw@mail.gmail.com"
type="cite">Hello, I`m try to use this code for my After Delete
trigger:
<div><br>
</div>
<div>
<div> delete</div>
<div> from MOVIMENTO</div>
<div> where (IDEMPRESA = OLD.idempresa) and</div>
<div> (upper(TABELA) = 'NFENTRADA_ITEM') and</div>
<div> (CODIGO = OLD.idempresa_item);</div>
<div><br>
</div>
<div>But, when execute. show me error.. that`s says</div>
<div><br>
</div>
<div>"old is not initialize" (sorry,but I dont know how exactly
error msy because in my SO, give in portuguese)..</div>
<div><br>
</div>
<div>my question is: how can I use OLd and NEW in posgre?</div>
<div><br>
</div>
<div>Best Regards,</div>
<div><br>
</div>
<div><br>
</div>
<span style="color:black">T.·.F</span><span style="color:black">.·.A</span><span
style="color:black">.·.</span> S+F<br>
<p style="height:17px;width:273px"><b><span style="color:black">Fellipe
Henrique P. Soares</span></b><span
style="font-size:7.5pt;color:rgb(102,102,102)" lang="EN-US"><br>
</span></p>
<p style="height:17px;width:273px"><b><span style="color:black">"Life
is a game without Tutorial"</span></b></p>
<p style="height:17px;width:273px"><font face="garamond, serif"><b><a
moz-do-not-send="true" href="http://fellipeh.eti.br"
target="_blank">http://fellipeh.eti.br</a></b></font></p>
</div>
</blockquote>
<br>
</body>
</html>
Hi,
I`m using Before Delete..
CREATE TRIGGER nfentrada_item_tr1
BEFORE DELETE
ON public.nfentrada_item FOR EACH ROW
EXECUTE PROCEDURE public.nfentrada_item_ad0();
here is my nfentrada_item_ad0();
delete
from MOVIMENTO
where (IDEMPRESA = OLD.idempresa) and
(upper(TABELA) = 'NFENTRADA_ITEM') and
(CODIGO = OLD.idnfentrada_item);
return old;
I just want to delete all row in my MOVIMENTO table with these
conditionals..
Thanks,
T.·.F.·.A.·. S+F
*Fellipe Henrique P. Soares*
*"Life is a game without Tutorial"*
2012/8/31 Tulio <tulio@informidia.com.br>
Show quoted text
Hi,
You're using a trigger AFTER, in your case could be BEFORE?
Cause when you use AFTER the var OLD not exists...
I don't know if I understand exactly what you'll do to ativate this
trigger..
but I think maybe is it..try..
Em 31/08/2012 14:10, Fellipe Henrique escreveu:
Hello, I`m try to use this code for my After Delete trigger:
delete
from MOVIMENTO
where (IDEMPRESA = OLD.idempresa) and
(upper(TABELA) = 'NFENTRADA_ITEM') and
(CODIGO = OLD.idempresa_item);But, when execute. show me error.. that`s says
"old is not initialize" (sorry,but I dont know how exactly error msy
because in my SO, give in portuguese)..my question is: how can I use OLd and NEW in posgre?
Best Regards,
T.·.F.·.A.·. S+F
*Fellipe Henrique P. Soares*
*"Life is a game without Tutorial"*
On Friday, August 31, 2012 03:14:15 PM Fellipe Henrique wrote:
CREATE TRIGGER nfentrada_item_tr1
BEFORE DELETE
ON public.nfentrada_item FOR EACH ROW
EXECUTE PROCEDURE public.nfentrada_item_ad0();here is my nfentrada_item_ad0();
delete
from MOVIMENTO
where (IDEMPRESA = OLD.idempresa) and
(upper(TABELA) = 'NFENTRADA_ITEM') and
(CODIGO = OLD.idnfentrada_item);
return old;I just want to delete all row in my MOVIMENTO table with these
conditionals..
And the error appears when you do a DELETE FROM public.nfentrada_item? Can you
post the entire function declaration with the CREATE comand?
Yes, the error appears when I delete "nfentrada_item" row
Here is code:
--
View this message in context: http://postgresql.1045698.n5.nabble.com/Tigger-after-delete-with-plpgsql-tp5722154p5722173.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
On Friday, August 31, 2012 12:12:32 PM fellipeh wrote:
Yes, the error appears when I delete "nfentrada_item" row
View this message in context:
http://postgresql.1045698.n5.nabble.com/Tigger-after-delete-with-plpgsql-tp
5722154p5722173.html Sent from the PostgreSQL - general mailing list archive
at Nabble.com.
Well ... I don't know. That runs fine here. Can you post the actual error
message you get? Or a \d on both of those tables.
Here is error msg:
http://postgresql.1045698.n5.nabble.com/file/n5722180/erro_PG.png
sorry, but in portuguese..
--
View this message in context: http://postgresql.1045698.n5.nabble.com/Tigger-after-delete-with-plpgsql-tp5722154p5722180.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
On Friday, August 31, 2012 12:41:42 PM fellipeh wrote:
Here is error msg:
http://postgresql.1045698.n5.nabble.com/file/n5722180/erro_PG.pngsorry, but in portuguese..
--
View this message in context:
http://postgresql.1045698.n5.nabble.com/Tigger-after-delete-with-plpgsql-tp
5722154p5722180.html Sent from the PostgreSQL - general mailing list archive
at Nabble.com.
What is the function movimento_ad0()?
Found the error... my movimento_ad0() was set to statement .. I change to
Row, and works fine now...
Thanks for all
--
View this message in context: http://postgresql.1045698.n5.nabble.com/Tigger-after-delete-with-plpgsql-tp5722154p5722190.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.