Thread: switch statement in plpgsql

switch statement in plpgsql

From
Godshall Michael
Date:
Hello,
 
Is it possible to use a case switch statement in a plpgsql function or must I use If-Else statements only?
 
If so what is the format?
 
I have tried the following which when compiled is accepted but when I call the function it crashes.
 

switch(tregion)

{

case : ''San Ramon'' then tregion := ''San Ramon, CA'';

break;

}

Re: switch statement in plpgsql

From
Robert Treat
Date:
On Tue, 2003-07-29 at 12:18, Godshall Michael wrote:
> Hello,
>
> Is it possible to use a case switch statement in a plpgsql function or
> must I use If-Else statements only?
>
> If so what is the format?
>
> I have tried the following which when compiled is accepted but when I
> call the function it crashes.
>
> switch(tregion)
>
> {
>
> case : ''San Ramon'' then tregion := ''San Ramon, CA'';
>
> break;
>
> }
>

It is not currently possible in plpgsql (though I believe it is possible
in some of the other function languages).

You could probably lobby to have it put on the TODO list (I agree there
are times when it would be nice to have), though the IF...ELSIF..ELSE
construct can usually serve the same purpose.

Robert Treat
--
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL


Re: switch statement in plpgsql

From
Godshall Michael
Date:

I am running postgresql through cygwin and it seems that the other languages are not included in the default build.  I have tried createlang plperl mydb.

It seems to execute but I never get a confirmation message that it did or did not fail.

:-(

-----Original Message-----
From: Robert Treat [mailto:xzilla@users.sourceforge.net]
Sent: Tuesday, July 29, 2003 1:27 PM
To: Godshall Michael
Cc: pgsql-novice@postgresql.org
Subject: Re: [NOVICE] switch statement in plpgsql

On Tue, 2003-07-29 at 12:18, Godshall Michael wrote:
> Hello,

> Is it possible to use a case switch statement in a plpgsql function or
> must I use If-Else statements only?

> If so what is the format?

> I have tried the following which when compiled is accepted but when I
> call the function it crashes.

> switch(tregion)
>
> {
>
> case : ''San Ramon'' then tregion := ''San Ramon, CA'';
>
> break;
>
> }
>

It is not currently possible in plpgsql (though I believe it is possible
in some of the other function languages).

You could probably lobby to have it put on the TODO list (I agree there
are times when it would be nice to have), though the IF...ELSIF..ELSE
construct can usually serve the same purpose.

Robert Treat
--
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL