From: | "Jeff Eckermann" <jeckermann(at)verio(dot)net> |
---|---|
To: | "Gary Stainburn" <gary(dot)stainburn(at)ringways(dot)co(dot)uk> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: create function using language SQL |
Date: | 2001-08-14 13:40:41 |
Message-ID: | 007c01c124c8$a3ae41d0$039c10ac@verio.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
The "create function" syntax is the same. The language syntax is straight
SQL:
CREATE FUNCTION getteamno(int4) RETURNS varchar AS '
SELECT tregion || ''/'' || to_char(tnumber, ''FM000'')
FROM teams
WHERE tid = $1
' LANGUAGE 'sql';
You don't get to build in error checking, but there has to be a reason to
use plpgsql :-)
SQL is non-procedural, after all.
Check the docs: Reference Manual/SQL Commands/Create Function
----- Original Message -----
From: "Gary Stainburn" <gary(dot)stainburn(at)ringways(dot)co(dot)uk>
To: <pgsql-sql(at)postgresql(dot)org>
Sent: Tuesday, August 14, 2001 7:40 AM
Subject: create function using language SQL
> Hi all,
>
> As I was reading up on create function etc. while learning plpgsql, I seam
to
> remember it stated that as well as plpgsql, that other languages are/will
be
> available including using SQL as the language. However, I cannot find the
> syntax to create a function in SQL. Specifically, how you return the
result.
>
> As an example, how would I create a SQL function to match the plpgsql
> function below?
>
>
> CREATE FUNCTION getteamno(int4) RETURNS varchar AS '
> DECLARE
> unitno varchar;
> BEGIN
> select into unitno
> tregion || ''/'' ||
> to_char(tnumber,''FM000'')
> from teams
> where tid = $1;
> if not found then
> raise exception ''Team % not found'',$1;
> return '''';
> end if;
> return unitno;
> END;
> ' LANGUAGE 'plpgsql';
>
> --
> Gary Stainburn
>
> This email does not contain private or confidential material as it
> may be snooped on by interested government parties for unknown
> and undisclosed purposes - Regulation of Investigatory Powers Act, 2000
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2001-08-14 14:27:29 | Re: Eh? |
Previous Message | Michael Ansley (UK) | 2001-08-14 13:16:54 | RE: Re: Are circular REFERENCES possible ? |