Обсуждение: Trigger using function written in PL/PGSQL returns "Unrecognized language specified"

Поиск
Список
Период
Сортировка

Trigger using function written in PL/PGSQL returns "Unrecognized language specified"

От
Dan B
Дата:
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?


Dan Browning, Cyclone Computer Systems, danb@cyclonecomputers.com


Re: Trigger using function written in PL/PGSQL returns "Unrecognized language specified"

От
Dan B
Дата:
Sorry, I forgot to mention:

[root@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@ds /root]#


At 08:45 PM 2/9/2001 -0800, Dan B wrote:
>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?
>
>
>Dan Browning, Cyclone Computer Systems, danb@cyclonecomputers.com

Dan Browning, Cyclone Computer Systems, danb@cyclonecomputers.com