Thread: Going beyond sql

Going beyond sql

From
Jon
Date:
Hi,

I'd like to run some scripts against a postgres database but has more
than just standard SQL commands. I'd like to be able to use conditional
statements (i.e. if .. .then ... ) and such. I had a look and can see
that I could use pgplsql for this. However it seems that it must be part
of a function. Is there any way of doing this without the function
coating as these commands would be a once off?

Jon.

Re: Going beyond sql

From
Michael Fuhr
Date:
On Wed, Aug 03, 2005 at 06:50:48AM +1000, Jon wrote:
> I'd like to run some scripts against a postgres database but has more
> than just standard SQL commands. I'd like to be able to use conditional
> statements (i.e. if .. .then ... ) and such. I had a look and can see
> that I could use pgplsql for this. However it seems that it must be part
> of a function. Is there any way of doing this without the function
> coating as these commands would be a once off?

PostgreSQL's implementation of SQL doesn't have control structures
(aside from simple conditionals like CASE expressions), so you'll
have to write a server-side function in a language like PL/pgSQL
or do the control in client-side code.

--
Michael Fuhr

Re: Going beyond sql

From
Laura Vance
Date:
Jon wrote:

> Hi,
>
> I'd like to run some scripts against a postgres database but has more
> than just standard SQL commands. I'd like to be able to use
> conditional statements (i.e. if .. .then ... ) and such. I had a look
> and can see that I could use pgplsql for this. However it seems that
> it must be part of a function. Is there any way of doing this without
> the function coating as these commands would be a once off?
>
> Jon.
>
Have you considered writing them in a programming language that connects
to the database?  I have to write one-time database code at times, and
writing it in Perl is the most efficient way to do it for me.  But then
I also wrote an extremely simple wrapper to the DBI / DBD::Pg module so
that I don't have to muck with the extra house keeping steps in my programs.

--
Thanks,
Laura Vance
Systems Engineer