Ver Mensaje Individual
  #2  
Antiguo 04-12-2007
Leviatan Leviatan is offline
Miembro
 
Registrado: oct 2005
Posts: 56
Reputación: 19
Leviatan Va por buen camino
Hola:

Si vas a devolver todas las columnas de una sola tabla, deberías hacer lo siguiente:

Código SQL [-]
-- Cuerpo de la función
declare
  Fila nombre_tabla;
begin
  for Fila in
    select * from nombre_tabla loop
    return next Fila;
  end loop
end;

Si vas a devolver columnas de varias tablas (joins) deberías primeramente crear un type (tipo) con los mismos tipos de datos de las columnas originales y hacer algo como lo siguiente:

Código SQL [-]
-- Cuerpo de la función
declare
  Fila tipo_creado;
begin
  for Fila in
    select columna1, columna2, columna3 from tabla_1 t1 join tabla2 t2 on
             t1.id_columna = t2.id_columna loop
    return next Fila;
  end loop;
end;

Espero te sirva.

Última edición por jhonny fecha: 04-12-2007 a las 22:29:58. Razón: Aplicar etiquetas [SQL]
Responder Con Cita