Re: Could someone tell me what is wrong withthis function
От | |
---|---|
Тема | Re: Could someone tell me what is wrong withthis function |
Дата | |
Msg-id | 053001c1d411$f76ad1f0$6501a8c0@calvin обсуждение исходный текст |
Ответ на | Re: Could someone tell me what is wrong withthis function (Darren Ferguson <darren@crystalballinc.com>) |
Ответы |
Re: Could someone tell me what is wrong withthis function
|
Список | 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 по дате отправления: