How to pass a parameter in a query to postgreSQL 12

Started by Hassan Camacho Cadrealmost 5 years ago3 messagesgeneral
Jump to latest
#1Hassan Camacho Cadre
hccadre@gmail.com

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 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.

#2Peter J. Holzer
hjp-pgsql@hjp.at
In reply to: Hassan Camacho Cadre (#1)
Re: How to pass a parameter in a query to postgreSQL 12

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!"

In reply to: Hassan Camacho Cadre (#1)
Re: How to pass a parameter in a query to postgreSQL 12

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,