Re: Funcion en PostgreSQL

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: NachXs <nachxs(at)gmail(dot)com>
Cc: "List Postgresql" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Funcion en PostgreSQL
Date: 2007-06-22 06:49:39
Message-ID: c2d9e70e0706212349u460431f0maa2feaa332a3a49b@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 6/22/07, NachXs <nachxs(at)gmail(dot)com> wrote:
>
> Select ruc_in=num_ruc From snt$prin_contrib Where num_ruc=$1;
>
[...]
>
> SQLSTATE = 42601
> ERROR: query has no destination for resulta data;
>

ese error te da porque el query (la consulta) no tiene un detino para los datos.
pero como? diras tu, si claramente se esta asignando el valor de
num_ruc a ruc_in...
Pues no, porque eso no es SQL estandar (es una aberracion que algunos
motores aceptan, pero postgres no), esa consulta esta retornando un
valor booleano (que dependera de si ruc_in es igual a num_ruc).
Lo que quieres hacer se hace asi:

Select num_ruc into ruc_in From snt$prin_contrib Where num_ruc=$1;

Aqui puedes ver la razon, y un poco mas arriba en el mismo capitulo
tambien veras sobre PERFORM (y cuando usarlo en logar de select, pero
eso es harina de otro costal):
http://www.postgresql.org/docs/8.2/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-ONEROW

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message jlcambero 2007-06-22 08:01:04 Variables de sesión propias
Previous Message Rodrigo Ramirez Norambuena 2007-06-22 06:39:38 Re: Concatenar campos