From: | Sean Davis <sdavis2(at)mail(dot)nih(dot)gov> |
---|---|
To: | Mark Campbell <mdc(at)ucs(dot)co(dot)za>, <pgsql-novice(at)postgresql(dot)org> |
Subject: | Re: Perl and psql variables |
Date: | 2006-04-26 13:04:44 |
Message-ID: | C074E82C.A1C5%sdavis2@mail.nih.gov |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
On 4/26/06 8:11 AM, "Mark Campbell" <mdc(at)ucs(dot)co(dot)za> wrote:
> Hi
>
> I am currently running a Perl script once a month which in turn uses a
> sql script file to extract info from a postgres database.
>
> I would like to automate this perl script, but the problem that I have
> is that I need to pass on a variable from the perl script to the sql script.
>
>
> Yes, I can add the entire block of sql code into the perl script, but I
> don't want it to function like that ie duplicate the sql code in the
> perl script, as I might need a different perl script to execute the same
> sql.
>
> eg
>
> the perl script generates a variable called $month (which is the current
> month), I then need that month variable passed as a command line line
> parameter to psql. eg psql -f sql.file --variable "month = $month"
> then do a SELECT with the variable called :month
>
> Is this possible to do, if so how?
Probably the easiest thing to do is to write a function WITHIN THE DATABASE
that you then call from your perl script. You could write your function in
SQL like shown in this section of the documentation:
http://www.postgresql.org/docs/8.1/interactive/xfunc-sql.html
Sean
From | Date | Subject | |
---|---|---|---|
Next Message | Oscar Rodriguez Fonseca | 2006-04-26 14:25:55 | Re: How to obtain algebraic sum of equal lines |
Previous Message | Mark Campbell | 2006-04-26 12:11:12 | Perl and psql variables |