Oracle - Consultas dinamicas

 
Vista:

Consultas dinamicas

Publicado por Maritza (1 intervención) el 11/09/2001 01:42:05
Necesito saber si es posible retornar un cursor dinamico a un tipo de dato record, tipo de dato que es es utilizada para llenar un bloque de un forms.
Como funciona esto (o debería).
1.- Creo un tipo de dato record el cual utilizo para llenar un bloque en un forms (mapeo las columnas del forms a cada columna de la estructura)
2.- Luego creo una variable de tipo cursor que retorna los datos a la estructura anterior.
3.- Asigno a este cursor un select dinamico. Y es aqui donde se me presenta el problema ya que me arroja un error que hace referencia a que no se puede asignar un cursor dinamico cuando este esta retornando los valores a una estructura.

4.-Intente de otra forma, en lugar de crear un cursor, trate de crear una vista, la cual me arrojo un error similar, no me aguanto una vista creada a partir de un select dinamico.

No se si lo que trato de crear se puede realizar de otra forma o es una limitación del oracle 8i.

Si me pueden ayudar les agredecere, es urgente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consultas dinamicas

Publicado por danu (25 intervenciones) el 11/09/2001 16:18:14
Los datos que levanta el cursor sería un select dinámico??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consultas dinamicas

Publicado por Alejandro César (189 intervenciones) el 12/09/2001 21:59:51
Prueba esto:
declare
cursor c1 is
Select ... (tu select dinámico);
reg c1%type; --Declaras una variable del tipo registro del cursor
begin
OEPN c1;
Loop
Fetch C1 Into REG;
.
Aquí las instrucciones para mapear las columnas del registro
Reg a los items de la forma
.
Exit when c1%NOTFOUND; --Devuelve TRUE después de recuperar el último registro del cursor
End Loop;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar