Discussion:
parametrized query
(too old to reply)
Ben Kim
2004-04-28 15:46:54 UTC
Permalink
I tried but couldn't find an answer if this is possible in psql.

Create a file named test.sql
select * from mytable where id = ? (or use $1, $2...)
Then in psql do
\i test.sql 337

to achieve the same effect "select * from mytable where id=337"

as I would in perl
$sth = $dbh -> prepare ("insert into mytable values (?, ?, ?)")

Is writing a function the only way? Is there another way that can be done
without writing a function?

Thanks,
Ben Kim


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org
Andreas Schmitz
2004-04-28 16:06:20 UTC
Permalink
Put it into a shell script like

echo "select * from mytable where id = $1;" | psql $DBNAME

That can be executed using the shell function in psql

\! [COMMAND] execute command in shell or start interactive shell

regards,

-Andreas
Post by Ben Kim
I tried but couldn't find an answer if this is possible in psql.
Create a file named test.sql
select * from mytable where id = ? (or use $1, $2...)
Then in psql do
\i test.sql 337
to achieve the same effect "select * from mytable where id=337"
as I would in perl
$sth = $dbh -> prepare ("insert into mytable values (?, ?, ?)")
Is writing a function the only way? Is there another way that can be done
without writing a function?
Thanks,
Ben Kim
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
--
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ***@postgresql.org so that your
message can get through to the mailing list cleanly
Loading...