Thread: How to pass a parameter in a query to postgreSQL 12
Hello
I recently installed a postgreSQL v12, in previous version 8.3 in all my queries I pass parameters using the character :
SELECT
FROM
public.tabla
WHERE
public.tabla.id = :a
In the new version when I try to make this query it sends me an error
ERROR syntax error at or near ":"
I tried
?a , ¿a, @a
But I always got an error
I am executing this query on the query editor of pgadmin 4
Could someone help me to know how I can configure the parameter passing character or, failing that, how I should pass the parameters in this new version.
Greetings
Atentamente Msc. Hassan Camacho.
On 2021-06-09 14:51:46 -0500, Hassan Camacho Cadre wrote: > I recently installed a postgreSQL v12, in previous version 8.3 in all my > queries I pass parameters using the character : > > SELECT > > public.tabla.id > > FROM > > public.tabla > > WHERE > > public.tabla.id = :a That looks Oracle-ish to me. > In the new version when I try to make this query it sends me an error > > ERROR syntax error at or near ":" > > > > I tried > > > > ?a , ¿a, @a > > > > But I always got an error > > > I am executing this query on the query editor of pgadmin 4 I don't use pgAdmin4, and don't know how (and if) it handles parameters. Natively, PostgreSQL uses $1, $2, ... for parameters in prepared queries. AFAIK pgAdmin4 is written in Python, so it is likely that it supports the parameter binding of the Python PostgreSQL library in use (most likely psycopg2). That would be %s for unnamed parameters and %(name)s for named parameters. hp -- _ | Peter J. Holzer | Story must make more sense than reality. |_|_) | | | | | hjp@hjp.at | -- Charles Stross, "Creative writing __/ | http://www.hjp.at/ | challenge!"
Attachment
On Wed, 9 Jun 2021 14:51:46 -0500 Hassan Camacho Cadre <hccadre@gmail.com> wrote: > Hello > > > I recently installed a postgreSQL v12, in previous version 8.3 in all my > queries I pass parameters using the character : > > SELECT > > public.tabla.id > > FROM > > public.tabla > > WHERE > > public.tabla.id = :a > > In the new version when I try to make this query it sends me an error > > ERROR syntax error at or near ":" > [...] > I am executing this query on the query editor of pgadmin 4 The :varname syntaxe is only understood by psql, which parse it and replace it with the value BEFORE sending the query to postgres. pgAdmin doesn't know this syntaxe. If you need to parameterize a query in pure SQL, use PREPARE/EXECUTE. Regards,