Re: [GENERAL] triggers problems whit function

2008-10-23 Thread Guillaume Lelarge
Tom Lane a écrit :
 Guillaume Lelarge [EMAIL PROTECTED] writes:
 Fernando Moreno a écrit :
 A trigger function must have a specific structure, it takes no arguments
 
 It can take arguments.
 
 No, it can't.  At least not in the declaration.
 

Oops, you're right. Arguments shouldn't be declared, but can be used in
the body of a PL/pgsql trigger function.

Sorry about this.


-- 
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] triggers problems whit function

2008-10-23 Thread MOLINA BRAVO FELIPE DE JESUS

El mié, 22-10-2008 a las 15:01 -0500, Ma. Cristina Peña C. escribió:
 I want to use a function in to a trigger 
 
  
 
 This is my
 
 CREATE FUNCTION subradio(integer) RETURNS integer AS 'select
 cast(count (claveubica) as integer ) from asradios where ubicacion
 =0;' LANGUAGE 'sql';
 
  
 
 And my ttrigger is 
 
 CREATE TRIGGER validaradios AFTER DELETE ON subestacion FOR EACH ROW
 EXECUTE PROCEDURE subradio(0);
 
  
 
 But I got an error 
 
 ERROR:  CreateTrigger: function subradio() does not exist
 
  
 
 What can I do??

write your function in plpgsql

http://www.postgresql.org/docs/8.3/interactive/plpgsql-trigger.html




 

 
  
 
  
 
 cid:image002.jpg@01C8F24F.E2D90230
 
 Ing. María Cristina Peña C.
 
 Analista Programador
 
  
 
 Sensa Control Digital S.A. de C.V.
 
 Dir. Av. Bravo #93 Ote.
 
 Col. Centro.
 Torreón Coah.
 
  
 
 Tel. Directo:  (871) 747 01 04
 
 Conmutador: (871) 747 01 01 
 
 Tel. Fax:(871) 747 01 90 
 
 Correo Electrónico: [EMAIL PROTECTED]
 
  
 
 

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[GENERAL] triggers problems whit function

2008-10-22 Thread Ma . Cristina Peña C .
I want to use a function in to a trigger 

 

This is my

CREATE FUNCTION subradio(integer) RETURNS integer AS 'select cast(count 
(claveubica) as integer ) from asradios where ubicacion =0;' LANGUAGE 'sql';

 

And my ttrigger is 

CREATE TRIGGER validaradios AFTER DELETE ON subestacion FOR EACH ROW EXECUTE 
PROCEDURE subradio(0);

 

But I got an error 

ERROR:  CreateTrigger: function subradio() does not exist

 

What can I do??

 

 

 

Ing. María Cristina Peña C.

Analista Programador

 

Sensa Control Digital S.A. de C.V.

Dir. Av. Bravo #93 Ote.

Col. Centro.
Torreón Coah.

 

Tel. Directo:  (871) 747 01 04

Conmutador: (871) 747 01 01 

Tel. Fax:(871) 747 01 90 

Correo Electrónico: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 

 

image001.jpg

Re: [GENERAL] triggers problems whit function

2008-10-22 Thread Fernando Moreno
2008/10/22 Ma. Cristina Peña C. [EMAIL PROTECTED]

  I want to use a function in to a trigger



 This is my

 CREATE FUNCTION subradio(integer) RETURNS integer AS 'select cast(count
 (claveubica) as integer ) from asradios where ubicacion =0;' LANGUAGE 'sql';



 And my ttrigger is

 CREATE TRIGGER validaradios AFTER DELETE ON subestacion FOR EACH ROW
 EXECUTE PROCEDURE subradio(0);



 But I got an error

 ERROR:  CreateTrigger: function subradio() does not exist



 What can I do??

A trigger function must have a specific structure, it takes no arguments and
returns trigger. Besides, trigger functions are supposed to do some
processing before or after insert, update or delete operations, so there's
no sense in returning a row count.

Take a look at the docs, specially chapter 35 and 38.9.

Cheers.


Re: [GENERAL] triggers problems whit function

2008-10-22 Thread Guillaume Lelarge
Fernando Moreno a écrit :
 2008/10/22 Ma. Cristina Peña C. [EMAIL PROTECTED]
 mailto:[EMAIL PROTECTED]
 
 I want to use a function in to a trigger
 
 This is my
 
 CREATE FUNCTION subradio(integer) RETURNS integer AS 'select
 cast(count (claveubica) as integer ) from asradios where ubicacion
 =0;' LANGUAGE 'sql';
 
 And my ttrigger is
 
 CREATE TRIGGER validaradios AFTER DELETE ON subestacion FOR EACH ROW
 EXECUTE PROCEDURE subradio(0);
 
 But I got an error
 
 ERROR:  CreateTrigger: function subradio() does not exist
 
 What can I do??
 
 A trigger function must have a specific structure, it takes no arguments

It can take arguments.

 and returns trigger.

And this is why, I think, the message tells function subradio does not
exist. Because there's no subradio function that returns trigger.

 Besides, trigger functions are supposed to do
 some processing before or after insert, update or delete operations, so
 there's no sense in returning a row count.
 
 Take a look at the docs, specially chapter 35 and 38.9.
 

Regards.


-- 
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] triggers problems whit function

2008-10-22 Thread Tom Lane
Guillaume Lelarge [EMAIL PROTECTED] writes:
 Fernando Moreno a écrit :
 A trigger function must have a specific structure, it takes no arguments

 It can take arguments.

No, it can't.  At least not in the declaration.

regards, tom lane

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general