Search Postgresql Archives

Re: Emulating trigger BEFORE SELECT behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Why you just create your track function and a view to call it?
>
> Example:
>
> BEGIN;
>
> CREATE TABLE foo (id SERIAL PRIMARY KEY, data TEXT);
> CREATE TABLE foo_track(tracktime TIMESTAMP DEFAULT now(), foo_row foo);
>
> INSERT INTO foo (data) SELECT 'Some Data'||id FROM generate_series(1,10) AS
> id;
>
> CREATE OR REPLACE FUNCTION foo_track_func(foo) RETURNS integer AS
> $$
>   INSERT INTO foo_track(foo_row) VALUES ($1) RETURNING (foo_row).id
> $$
> LANGUAGE sql;
>
> CREATE VIEW v_foo AS SELECT foo.*, foo_track_func(foo.*) FROM foo;
>
> SELECT * FROM v_foo;
> SELECT * FROM foo_track;
>
> COMMIT;
>
>

Wow! It seems just right. Thanks, let me try it out.

Regards,

Atri


--
Regards,

Atri
l'apprenant


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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux