Oracle - Cursores

 
Vista:

Cursores

Publicado por CESAR (5 intervenciones) el 12/01/2005 18:59:26
hola.
Como puedo crear un cursor dinamicamente y poder manipularlo cada registro del cursor tratado de hacer con la sentencia execute immediate pero no puedo .....
envien un ejemplo como puedo hacer...
gracias
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:Cursores

Publicado por rodrigo (102 intervenciones) el 12/01/2005 21:23:31
esto palabra te puede servir..

REF CURSOR
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:Cursores

Publicado por carlos (2 intervenciones) el 15/02/2005 10:19:23
Hola

Primero se debe definir un tipo como ref cursor. Es decir:

TYPE tRef IS REF CURSOR;

y se define una variable de este tipo

vCur tRef;

posteriormente se monta en una cadena de texto (VARCHAR2) la consulta que se desee realizar:

v_cons VARCHAR2(2000);
v_cons := ' SELECT * FROM DUAL WHERE DUMMY = '''||p_parametro||'''';

evidentemente, se puede manipular esta cadena como se desee. Después sólo hay que hacer un:

OPEN vCur FOR v_cons;

Para abrirlo. Accederás con fetch y cerrarás con close. Eso si, el tipo de la variable en la que guardes el fetch debe ser el mismo que esté en la select. En el caso anterior:

v_registro DUAL%ROWTYPE;
fetch vCur into v_registro.

Espero haber sido de ayuda

Ciao
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