From: | Dan B <db(at)cyclonehq(dot)dnsalias(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Trigger using function written in PL/PGSQL returns "Unrecognized language specified" |
Date: | 2001-02-10 08:10:17 |
Message-ID: | 5.0.2.1.0.20010210000916.0292d1f0@cyclonehq.dnsalias.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I am writing my first trigger & function.
First question:
---------------
I can't get psql to take the function declaration.
ds=# > CREATE FUNCTION trigger_insert_update_copay()
ds-# RETURNS opaque
ds-# RETURNS opaque AS 'BEGIN
ds'# new.copay = (new.allowable * new.percent);
ds'# RETURN new;
ds'# END;'
ds-# LANGUAGE 'plpgsql'
ds-# Error: ERROR: Unrecognized language specified in a CREATE FUNCTION:
'plpgsql'. Recognized languages are sql, C, internal and the created
procedural languages.
Here is my function:
CREATE FUNCTION trigger_insert_update_copay()
RETURNS opaque -- should this be NUMERIC(??) or FLOAT4?
AS 'BEGIN
new.copay = (new.allowable * new.percent);
RETURN new;
END;'
LANGUAGE 'plpgsql';
Here is my Trigger:
CREATE TRIGGER trigger_copay
BEFORE INSERT
ON coverage
FOR EACH ROW
EXECUTE PROCEDURE trigger_insert_update_copay();
Second question:
----------------
It is supposed to multiply the 'allowable' and 'percent' field and leave
the result in 'copay'. Is
new.copay = (new.allowable * new.percent);
RETURN new;
The correct code to do that?
FYI:
[root(at)ds /root]# rpm -q -a | grep post
postgresql-devel-7.0.3-2
postgresql-jdbc-7.0.3-2
postgresql-tcl-7.0.3-2
postgresql-tk-7.0.3-2
postgresql-7.0.3-2
postgresql-odbc-7.0.3-2
postgresql-perl-7.0.3-2
postgresql-python-7.0.3-2
postgresql-server-7.0.3-2
postgresql-test-7.0.3-2
[root(at)ds /root]#
Dan Browning, Cyclone Computer Systems, danb(at)cyclonecomputers(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2001-02-10 09:44:08 | Re: two cents |
Previous Message | Guy Fraser | 2001-02-10 06:07:43 | Re: Re: Data Import |