Обсуждение: How to pass a parameter in a query to postgreSQL 12

Поиск
Список
Период
Сортировка

How to pass a parameter in a query to postgreSQL 12

От
Hassan Camacho Cadre
Дата:

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.

Re: How to pass a parameter in a query to postgreSQL 12

От
"Peter J. Holzer"
Дата:
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!"

Вложения

Re: How to pass a parameter in a query to postgreSQL 12

От
Jehan-Guillaume de Rorthais
Дата:
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,