Re: create function using language SQL

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
>
>

In response to

Browse pgsql-sql by date

  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 ?