From: | "Andy" <frum(at)ar-sd(dot)net> |
---|---|
To: | "daq16" <daq(at)ugyvitelszolgaltato(dot)hu> |
Cc: | <Pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Create trigger for auto update function >> SOLVED!!! |
Date: | 2005-07-19 09:19:57 |
Message-ID: | 01b101c58c43$08405b20$0b00a8c0@forge |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
CREATE OR REPLACE FUNCTION u9() RETURNS TRIGGER AS'
BEGIN
NEW.pass_md5=md5(NEW.pass);
return NEW;
END
'language plpgsql;
CREATE TRIGGER t8
BEFORE INSERT OR UPDATE
ON hoy FOR EACH ROW
EXECUTE PROCEDURE u9();
Ok. This is the solution. It works well, for inserts and updates. Took some
time to figure it out.
(ignore the function names --- test functions)
Best regards,
Andy.
----- Original Message -----
From: "daq" <daq(at)ugyvitelszolgaltato(dot)hu>
To: "Andrei Bintintan" <klodoma(at)ar-sd(dot)net>
Cc: <Pgsql-sql(at)postgresql(dot)org>
Sent: Monday, July 18, 2005 4:32 PM
Subject: Re: [SQL] Create trigger for auto update function
> Hello Andrei,
>
> Monday, July 18, 2005, 2:24:41 PM, you wrote:
>
> AB> Hi to all,
>
> AB> I have a table:
> AB> create table hoy(
> AB> id serial,
> AB> pass varchar(40),
> AB> pass_md5 varchar(40);
>
> AB> Now, I want to write a trigger function that automatically updates the
> pass_md5 with the md5 function of the pass.
>
> AB> I tried this:
>
> AB> CREATE FUNCTION update_pass(integer) RETURNS integer AS $$
> AB> UPDATE hoy SET pass_md5=md5(pass) WHERE id=$1;
> AB> SELECT 1;
> AB> $$ LANGUAGE SQL;
>
> AB> and
>
> AB> CREATE TRIGGER triger_users_pass_md5
> AB> AFTER INSERT OR UPDATE
> AB> ON hoy
> AB> EXECUTE PROCEDURE update_pass(integer);
>
> What will be the param of the trigger procedure?
>
> Try this way:
>
> CREATE FUNCTION update_pass() RETURNS integer AS $$
> UPDATE hoy SET pass_md5=md5(pass) WHERE id=new.id;
> SELECT 1;
> $$ LANGUAGE SQL;
>
> CREATE TRIGGER triger_users_pass_md5
> AFTER INSERT OR UPDATE
> ON hoy FOR EACH ROW
> EXECUTE PROCEDURE update_pass;
>
>
> DAQ
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Andy | 2005-07-19 09:27:54 | Re: Create trigger for auto update function |
Previous Message | Richard Huxton | 2005-07-19 09:11:57 | Re: Create trigger for auto update function |