Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

fetch dinamico en ref cursor

Estas en el tema de fetch dinamico en ref cursor en el foro de Oracle en Foros del Web. PROCEDURE get_conflict_orignal_record( error_table_name in VARCHAR2, > id_error IN number, original OUT type_ref_cursor, constraint_name in > VARCHAR2) is > > > stmt_where varchar2(100); > str varchar2(100); ...
  #1 (permalink)  
Antiguo 02/05/2010, 22:35
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Exclamación fetch dinamico en ref cursor

PROCEDURE get_conflict_orignal_record( error_table_name in VARCHAR2,
> id_error IN number, original OUT type_ref_cursor, constraint_name in
> VARCHAR2) is
>
>
> stmt_where varchar2(100);
> str varchar2(100);
> campo VARCHAR2(40);
> v_sql varchar2(32767);
> cont number (11);
>
>
> pos number (3);
> BEGIN
>
> --NECESITABA HACER ESTO PARA PODER DECLARAR EL ROWTYPE DINAMICO, SEGUN EL
> NOMBRE DE TABLA Q SE LE ENTRA POR PARAMETRO v_sql := '
>
> rec '||error_table_name||'MIA%ROWTYPE;
>
> colum util_package.type_columns :=
> util_package.type_columns('','','','','','','','', '','','','','','','','',
> '','','','','','','','','','','','','','','','','' ,'','','','','','','');
> cont number(11);
>
>
> constraint_row_table constraints_col_temp%rowtype;
> stmt_where varchar2(500);
> campo VARCHAR2(40);
> pos number (3);
> ejemplo VARCHAR2(40);
> tbl_name VARCHAR2(40);
> id_e number(11);
>
> col VARCHAR2(60);
> error_record util_package.type_ref_cursor;
> constraint_table util_package.type_ref_cursor;
>
> BEGIN
>
>
> OPEN error_record FOR '||' select * from '||error_table_name||'MIA
> where id_error='||id_error||';
>
>
> OPEN
> constraint_table FOR '||' select * from constraints_col_temp where
> nombre_constraint = '''|| constraint_name||''' and nombre_tabla = '''||
> error_table_name||''' '||' ;
>
>
> cont:= 1;
> stmt_where := '' '';
> loop
> fetch error_record into rec;
> --ESTA ES UNA TUPLA QUE RECUPERO PARA
> SABER CON CUAL TUPLA ORIGINAL ..
EXIT WHEN error_record%NOTFOUND;
>
>
> loop
> fetch constraint_table into constraint_row_table;
> EXIT WHEN constraint_table%NOTFOUND;
>
>
>
>
> --LO QUE INTENTO HACER ES QUE POR CADA VALOR DE COLUMNA QUE TENGO EN
> constraint_row_table, PODER OBTENER SU VALOR EN rec, O SEA SI EL CAMPO EN
> CUESTION ES ID_DOCUMENTO ENTONCES NECESITARIA IMPRIMIR REC.ID_DOCUMENTO,
> POR ESO PONGO ALGO COMO LO SIGIENTE, PERO LO QUE ME IMPRIME ES ES EL
> TEXTO, NO NO EL VALOR, ME IMPRIME "rec.id_documento" y no el id que es lo
> que necesito, al final todo eso es para construir un where donde pueda
> buscar la tupla original que dio el error, los campos que se obtienen en
> constraint_table son los campos que conforman la constraint que se violo,
> por lo que con ellos puedo obtener la tupla original.
>
> DBMS_OUTPUT.PUT_LINE (rec.constraint_row_table.campo); --esto no funciona
--LA IDEA AL FINAL ES HACER UN WHERE ALGO
> COMO ESTO Y ASI SUCESIVAMENTE POR CADA CAMPO, AL FINAL LE QUITO EL ULTIMO
> AND Y LE PONGO UN ;
>
> stmt_where := stmt_where||' '||constraint_row_table.campo||'=
> '||rec.constraint_row_table.campo||' and';
>
>
> end loop;
>
> end loop;
>
> END;';
>
>
> EXECUTE IMMEDIATE v_sql;
>
>
> end;
  #2 (permalink)  
Antiguo 03/05/2010, 11:12
Avatar de 8vio  
Fecha de Ingreso: marzo-2008
Ubicación: Detras del monitor
Mensajes: 168
Antigüedad: 16 años, 8 meses
Puntos: 6
Respuesta: fetch dinamico en ref cursor

Esto es una pregunta o un aporte? No veo hola, buenos dias/saludos,gracias.

Si lo planteas de la manera como te lo digo vas a recibir buenas respuestas
  #3 (permalink)  
Antiguo 03/05/2010, 14:30
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: fetch dinamico en ref cursor

__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 04/05/2010, 00:13
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 6 meses
Puntos: 43
Respuesta: fetch dinamico en ref cursor

Cita:
Iniciado por 8vio Ver Mensaje
Esto es una pregunta o un aporte? No veo hola, buenos dias/saludos,gracias.

Si lo planteas de la manera como te lo digo vas a recibir buenas respuestas


No tientes al demonio................

Etiquetas: cursor, dinamico, fetch, ref
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:10.