I've already sent this request for help to the novice mail list but I
never get any answer. So I wonder if it was the good list for that kind
of question and I'm publishing it here.
(thousand of apologies if I'm wrong !)
I'm a beginner with postgres and I'm trying to understand how I can
workaround the FOREIGN KEY mechanism within Postgres.
I've read that it's not supported yet and we can use a trigger.
So I created:
CREATE TABLE "tbl_article" ( "i_article" serial PRIMARY KEY, "repere" text, "refmedia" int4 NOT NULL, "theme" int4
NOTNULL, "mot_cle1" int4 NOT NULL, "mot_cle2" int4, "mot_cle3" int4);
and:CREATE TABLE "tbl_theme" ( "i_theme" serial PRIMARY KEY, "theme" text NOT NULL UNIQUE);
then: CREATE FUNCTION chk_itheme_proc(int4) RETURNS int4 AS 'SELECT COUNT(i_theme) FROM tbl_theme WHERE i_theme =
$1;' LANGUAGE 'sql';
and I created a trigger:CREATE TRIGGER chk_itheme_trig BEFORE INSERT OR UPDATE ON tbl_article FOR EACH ROW EXECUTE
PROCEDUREchk_itheme_proc ('theme');
but I get the message: ERROR: CreateTrigger: function chk_itheme_proc() does not exist
If I do:
SELECT theme FROM tbl_article WHERE chk_itheme_proc(5) = 1; -- i_theme goes from 1 to 12
theme
----- 11
(1 row)
If I do now:
SELECT theme FROM tbl_article WHERE chk_itheme_proc(15) = 1;
theme
-----
(0 row)
So I can see that the function is available ....
I'm stuck with this issue and I wasn't able to find any help on
documentations.
Is there somebody who could help me ???
Many thanks in advance,
PhiL