Re: Could someone tell me what is wrong withthis function - Mailing list pgsql-general

From
Subject Re: Could someone tell me what is wrong withthis function
Date
Msg-id 053001c1d411$f76ad1f0$6501a8c0@calvin
Whole thread Raw
In response to Re: Could someone tell me what is wrong withthis function  (Darren Ferguson <darren@crystalballinc.com>)
Responses Re: Could someone tell me what is wrong withthis function  (Darren Ferguson <darren@crystalballinc.com>)
List pgsql-general
I created the function OKay, now !
It however complains still when I try to use the :
     "create or replace"
instead of the "create function"

any idea ?

thomas,

--
Thomas SMETS
rue J. Wytsmanstraat 62
1050 Bruxelles
yahoo-id : smetsthomas
----- Original Message -----
From: "Darren Ferguson" <darren@crystalballinc.com>
To: <tsmets@brutele.be>
Cc: <pgsql-general@postgresql.org>
Sent: 25 March, 2002 4:15 PM
Subject: Re: [GENERAL] Could someone tell me what is wrong withthis function


> Your language internal i have never heard of that.
>
> Try langauge plpgsql this is what you seem to be writing in
>
> Also the function says RETURNS OPAQUE but it does not return anything
>
> Put just before END:- RETURN NEW;
>
> Also the = should be := in plpgsql anyway. An example is below
>
> HTH
>
> Darren Ferguson
>
> EXAMPLE
>
> CREATE OR REPLACE FUNCTION trigger_iso_code_2_uppercase() RETURNS OPAQUE
> AS '
> BEGIN
>
>   IF NEW.countrycode !~ ''^[A-Za-z][A-Za-z]$'' THEN
>      RAISE EXCEPTION ''The exception'';
>   END IF;
>
>   NEW.countrycode := upper(NEW.countrycode);
>   NEW.countryname := initcap(NEW.countryname);
>
>   RETURN NEW;
> END;' LANGUAGE 'plpgsql';
>
>
> On Mon, 25 Mar 2002 tsmets@brutele.be wrote:
>
> >
> > This is almost a copy / paste from Bruce  Momjian's book :
> > <snip>
> create function trigger_iso_code_2_uppercase() returns opaque as '
> BEGIN
>  if new.countrycode !~''^[A-Za-z][A-Za-z]$''
>         then raise exception ''ISO-code are excepted to be uppercase
> > letters.'';
> >         ENd if;
> >         new.countrycode=upper(new.countrycode);
> >         new.countryname=initcap(new.countryname);
> >         end;'
> >         language 'internal';
> > </snip>
> >
> > but I get the following :
> >
> > <snip>
> >         ERROR:  ProcedureCreate: there is no builtin function named
"BEGIN
> >         if new.countrycode !~'^[A-Za-z][A-Za-z]$'
> >         then raise exception 'ISO-code are excepted to be uppercase
> > letters.';
> >         ENd if;
> >         new.countrycode=upper(new.countrycode);
> >         new.countryname=initcap(new.countryname);
> >         end;"
> > </snip>
> >
> > Please note that I logging as postgres
> >
> > tx for your help,
> >
> > thomas,
> >
> >
> >
> >
> >
> >
> > --
> > Thomas SMETS
> > rue J. Wytsmanstraat 62
> > 1050 Bruxelles
> > yahoo-id : smetsthomas
> >
> >
> >
> >
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> > http://www.postgresql.org/users-lounge/docs/faq.html
> >
>
>



pgsql-general by date:

Previous
From: "PGMailList"
Date:
Subject: Re: Could someone tell me what is wrong withthis function
Next
From: Jan Wieck
Date:
Subject: Re: Referential Integrity problem