From: | Werner Fraga <werner(dot)fraga(at)computalog(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | problems creating functions, triggers, and rules |
Date: | 2000-01-10 20:54:04 |
Message-ID: | 00011014302300.07948@shorty.edmonton.computalog.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I am having problems creating functions, triggers and rules in Postgres 6.5.3 on
Linux Mandrake 6.1. They may all be related:
1. I noticed that some examples show the LANGUAGE in the CREATE FUNCTION
command can be 'plpgsql'. However, if I try using this instead of 'sql', I get
ERROR: Unrecognized language specified in a CREATE FUNCTION ...
However, I read somewhere that triggers don't work with LANGUAGE 'sql'.
Am I missing some part of Postgres installation?
2. If I create a function successfully (with LANGUAGE 'sql', then try to
create a trigger using this function, I get
create function checkStationID (int4)
returns int4 as
'select Station.StationID from Station where Station.StationID = $1;'
language 'SQL';
CREATE
create trigger ifStationExists
BEFORE INSERT OR UPDATE ON Employee FOR EACH ROW
EXECUTE PROCEDURE checkStationID (stationID);
ERROR: CreateTrigger: function checkstationid() does not exist
3. If I create an insert rule using
create rule createStationAfterEmployeeInsert
as
on insert to Employee where new.StationID = 8
do
insert into Station (StationID, StationName)
values (new.StationID, 'RefIntegrity');
the WHERE clause is ignored, and the rule is applied to all INSERTs. I also
tried 'Employee' instead of 'new'.
4. Whereas if I create an update rule using
create rule createStationAfterEmployeeUpdate
as
on update to Employee where old.stationID=8
do
insert into Station (StationID, StationName)
values (new.StationID, 'RefIntegrity');
the rule is never applied. I also tried 'Employee' instead of 'old'. I tried
'current' instead of old, but this is not supported.
5. Is there anywhere I can find a list of the system tables? (that section in
Bruce's book is not ready yet...)
From | Date | Subject | |
---|---|---|---|
Next Message | Albert Loo | 2000-01-10 21:15:39 | query to do a backward 'skip', possible with (index) optimization ? |
Previous Message | Alain TESIO | 2000-01-10 19:14:06 | Re: [SQL] query to do a backward 'skip', possible with (index) optimization ? |