From: | "P(at)blo Villad(at)" <andresv50(at)hotmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Ayuda Por Favor, Me hechan del Trabajo |
Date: | 2005-05-05 20:05:23 |
Message-ID: | BAY23-F34309CBC1D3EB7FE149E09B31A0@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola....
Estoy trabajando con procedimientos almacenados, y me gustaría saber
cómo puedo devolver un record pero que tenga la estructura de una
tabla,
¿cómo podría hacer ésto?.
ME encantaría que me ayudasen cuanto antes, ya que me corre bastante
prisa conocer la respuesta.
Tengo la siguiente funcion :
CREATE OR REPLACE FUNCTION devolver_registro(varchar) RETURNS SETOF RECORD
AS '
DECLARE
registro RECORD;
BEGIN
FOR registro IN SELECT p.pon_emp_nidntfccion, p.pon_nevnto,
p.pon_ttulo
FROM ponencias p
WHERE p.pom_emp_nidntfccion=$1;
LOOP
RETURN NEXT registro ;
END LOOP ;
RETURN ;
END;'
LANGUAGE plpgsql;
la llamo de la siguiente manera:
select * from devolver_registro(1);
y me saca el siguiente error
** a column definition list is required for functions returning "record"
como invoco esa función. Es obligacion poner los parametros. que solucion
me pueden dar.
como puedo hacerlo sin esta estructura
SELECT * FROM devuelve_registro(14) as (xxx varchar, yyy varchar,
zzz int, www int);
Ah otra cosa como puedo hacer para que en esta linea de la funcion
FOR registro IN SELECT p.pon_emp_nidntfccion, p.pon_nevnto, p.pon_ttulo
FROM ponencias p
pueda poner
FOR registro IN SELECT * FROM ponencias p
y no me saque mas errores
Otra forma en que lo realizo es esta
CREATE OR REPLACE FUNCTION CPonencia (varchar) RETURNS SETOF RECORD AS '
DECLARE
registro RECORD;
BEGIN
FOR registro IN SELECT p.pon_emp_nidntfccion, p.pon_nevnto,
p.pon_ttulo
FROM ponencias p
WHERE p.pom_emp_nidntfccion=$1;
LOOP
RETURN NEXT registro ;
END LOOP ;
RETURN ;
END;'
LANGUAGE plpgsql;
lo llamo asi
SELECT * from Cponencia ('01') as (x varchar, y varchar, z varchar);
Me saca este erro.
ERROR: missing "LOOP" at end of SQL expression
CONTEXT: compile of PL/pgSQL function "cponencia" near line 4
Muchas Gracias.
From | Date | Subject | |
---|---|---|---|
Next Message | Juanky Moral | 2005-05-05 20:22:04 | Re: Ayuda Por Favor, Me hechan del Trabajo |
Previous Message | angel Iracheta | 2005-05-05 20:00:38 | Re: RE: [pgsql-es-ayuda] Retorno de una función |