Thread: help: triggers

help: triggers

From
Tony Simbine
Date:
hello,

I'm trying to update a columm on a table with a trigger
but it don't work on PostgreSQL 7.2 (i686-pc-linux-gnu, compiled by GCC 
2.96).

when I update a row the trigger does nothing.
what can I do?

thanks in advance

tony


here is my trigger:

########################################################
CREATE FUNCTION update_my_objekt() RETURNS OPAQUE AS '
BEGIN        RAISE NOTICE ''My Trigger is updating the table'';        IF OLD.status=''Activo'' THEN
NEW.tempo:= 10;                NEW.actual := now();        END IF;        RETURN NEW;
 
END;
' LANGUAGE 'plpgsql';


CREATE TRIGGER update_online BEFORE  UPDATE ON iobjects    FOR EACH ROW EXECUTE PROCEDURE update_my_objekt();

##########################################################



Re: help: triggers

From
"Wei Weng"
Date:
It would be better if you could provide the source of that trigger and involved
table schemas?


Wei

----- Original Message -----
From: "Tony Simbine" <jantos-work@mvweb.de>
To: <pgsql-sql@postgresql.org>
Sent: Wednesday, January 29, 2003 8:29 AM
Subject: [SQL] help: triggers


> hello,
>
> I'm trying to update a columm on a table with a trigger
> but it don't work on PostgreSQL 7.2 (i686-pc-linux-gnu, compiled by GCC
> 2.96).
>
> when I update a row the trigger does nothing.
> what can I do?
>
> thanks in advance
>
> tony
>
>
> here is my trigger:
>
> ########################################################
> CREATE FUNCTION update_my_objekt() RETURNS OPAQUE AS '
> BEGIN
>          RAISE NOTICE ''My Trigger is updating the table'';
>          IF OLD.status=''Activo'' THEN
>                  NEW.tempo := 10;
>                  NEW.actual := now();
>          END IF;
>          RETURN NEW;
> END;
> ' LANGUAGE 'plpgsql';
>
>
> CREATE TRIGGER update_online BEFORE  UPDATE ON iobjects
>      FOR EACH ROW EXECUTE PROCEDURE update_my_objekt();
>
> ##########################################################
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>



Re: help: triggers

From
Tony Simbine
Date:
Wei Weng wrote:
> It would be better if you could provide the source of that trigger and involved
> table schemas?
> 

CREATE SEQUENCE "iobjects_id_seq" start 1 increment 1 maxvalue 
9223372036854775807 minvalue 1 cache 1;

GRANT ALL on "iobjects_id_seq" to "jantos";

CREATE TABLE "iobjects" (        "id" integer DEFAULT nextval('"iobjects_id_seq"'::text) NOT NULL,        "status"
charactervarying(10) DEFAULT 'Activo' NOT NULL,        "local" character varying(80) NOT NULL,        "fig_1" character
varying(80),       "fig_2" character varying(80),        "fig_3" character varying(80),        "introduzido" timestamp
withtime zone DEFAULT now() NOT NULL,        "actual" timestamp with time zone DEFAULT now() NOT NULL,        "tempo"
integerDEFAULT 0 NOT NULL,        "deleted" character(1) DEFAULT '0',        Constraint "pk_iobjects" Primary Key
("id")
);
GRANT ALL on "iobjects" to "jantos";




> 
> Wei
> 
> ----- Original Message -----
> From: "Tony Simbine" <jantos-work@mvweb.de>
> To: <pgsql-sql@postgresql.org>
> Sent: Wednesday, January 29, 2003 8:29 AM
> Subject: [SQL] help: triggers
> 
> 
> 
>>hello,
>>
>>I'm trying to update a columm on a table with a trigger
>>but it don't work on PostgreSQL 7.2 (i686-pc-linux-gnu, compiled by GCC
>>2.96).
>>
>>when I update a row the trigger does nothing.
>>what can I do?
>>
>>thanks in advance
>>
>>tony
>>
>>
>>here is my trigger:
>>
>>########################################################
>>CREATE FUNCTION update_my_objekt() RETURNS OPAQUE AS '
>>BEGIN
>>         RAISE NOTICE ''My Trigger is updating the table'';
>>         IF OLD.status=''Activo'' THEN
>>                 NEW.tempo := 10;
>>                 NEW.actual := now();
>>         END IF;
>>         RETURN NEW;
>>END;
>>' LANGUAGE 'plpgsql';
>>
>>
>>CREATE TRIGGER update_online BEFORE  UPDATE ON iobjects
>>     FOR EACH ROW EXECUTE PROCEDURE update_my_objekt();
>>
>>##########################################################
>>
>>