Re: Pass parameters to SQL script

From: Fuchs Clemens <clemens(dot)fuchs(at)siemens(dot)com>
To: "'Daniel Martini'" <dmartini(at)uni-hohenheim(dot)de>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Pass parameters to SQL script
Date: 2004-08-19 13:39:01
Message-ID: 9DDD01E6B277D511B22300A0C9EEE776025D522C@LNZP106A
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

thanks for tip - I'm nearly happy now.

Now I want to concatenate a variable value with a "hardcoded" value in my
script - something like:

CREATE TABLE :myValue + _the_hardcoded_string ......

Is this possible?

thanks,
Clemens

-----Ursprüngliche Nachricht-----
Von: Daniel Martini [mailto:dmartini(at)uni-hohenheim(dot)de]
Gesendet: Donnerstag, 19. August 2004 12:00
An: Fuchs Clemens
Cc: pgsql-general(at)postgresql(dot)org
Betreff: Re: [GENERAL] Pass parameters to SQL script

Hi,

Citing Fuchs Clemens <clemens(dot)fuchs(at)siemens(dot)com>:
> is it possible to pass parameters to a SQL script, which I launch via the
> psql shell?

yes

> In Oracle it works like that:
>
> sqlplus myscript.sql myschema
>
> and within the script I can use the parameter like this:
>
> CONCAT .
> CREATE TABLE &1..test (name VARCHAR2(100));
>
> Is there a counterpart for PostgreSQL?

call psql like this to set a variable named your_variable_name to my_table:

psql -v your_variable_name=my_table

to expand the variable your_variable_name to its value (my_table in this
case)
in the sql script, precede its name with a colon, like so:

select * from :your_variable_name;

which will expand to:

select * from my_table;

the psql manpage has more info on all this.

Regards,
Daniel

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Marcel Boscher 2004-08-19 14:08:38 Finally tsearch works ... somehow... remain a few questions
Previous Message Oliver Elphick 2004-08-19 10:29:51 Re: Stored Procedures woes