• Domingo 22 de Diciembre de 2024, 02:25

Autor Tema:  Conversion A Texto  (Leído 3713 veces)

florjulissa

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Conversion A Texto
« en: Miércoles 27 de Julio de 2005, 18:40 »
0
Holas por favor quisiera saber como puedo hacer para que una tabla cualquiera se pueda convertir a una archivo de texto.El cursor q estaba haciendo requiere que ponga cada columna de una determinada tabla, pero si no se q columnas tiene y cuantas son. Quisiera saber como hago que ese cursor al madarle las columnas lo pueda hacer sin sabes sus nombres ni cuantas son y que si es de tipo cadena se ponga en el archivo de texto los registro  con " " .
Gracias espero su respuesta

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Conversion A Texto
« Respuesta #1 en: Jueves 28 de Julio de 2005, 05:01 »
0
no eres muy claro , podria interpretar eso que dices de muchas maneras...
trata d ser mas puntual.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

florjulissa

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Conversion A Texto
« Respuesta #2 en: Martes 2 de Agosto de 2005, 19:00 »
0
Cita de: "JuanK"
no eres muy claro , podria interpretar eso que dices de muchas maneras...
trata d ser mas puntual.
te lo pongo otra vez:

hola quisera consultar ojala me ayuden es q tengo q hacer un trabajo osea tengo q convertir una tabla cualquiera con sus registros a una archivo de text y con sus formatos respectivos osea si es cadena sera con comillar y con separadores como comas. Estaba haciendo algo como esto:

BEGIN
DUEÑO:='&DUEÑO';
TABLA:='&TABLA';
COMA:=',';
COMILLA:='"';
FECHA:='&FORMATO_FECHA';
NUMERO:='&FORMATO_NUMERO';
CAD_TABLA:='SELECT * FROM ' || TABLA;
dbms_output.put_line(CAD_TABLA);
CAD_CAMPO:='SELECT COLUMN_NAME, DATA_TYPE FROM ALL_TAB_COLS WHERE OWNER=UPPER(''' || DUEÑO || ''') AND TABLE_NAME=UPPER(''' || TABLA || ''')';
dbms_output.put_line(CAD_CAMPO);
OPEN CAMPOS FOR CAD_CAMPO;
LOOP
FETCH CAMPOS INTO NOM_CAMPO, TIPO_DATO;
EXIT WHEN CAMPOS%NOTFOUND;
END LOOP;
NUM_CAMPOS:=CAMPOS%ROWCOUNT;
CLOSE CAMPOS;
dbms_output.put_line(NUM_CAMPOS);
OPEN TABLAS FOR CAD_TABLA;

END;

Es un pequeño avance pero no se como hacer para que en fecth de campos esten las columnas de la tabla del where osea no se sabe que columnas son ni sus nombres pero si se cuantas son con NUM_CAMPOS. Parece complicado ojala alguien experto en esto me ayude ....saber como hacer ese fetch para saber las columnas, sus nombre..Muchas gracias ante todo....bye

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Conversion A Texto
« Respuesta #3 en: Miércoles 3 de Agosto de 2005, 05:52 »
0
la verdad debe ser algo muy simple, pero sigo sin entenderte , espero que te puedas hacer entender bien o sino que alguien te entienda a ver si me aclaro.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

florjulissa

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Conversion A Texto
« Respuesta #4 en: Miércoles 3 de Agosto de 2005, 15:58 »
0
Cita de: "JuanK"
la verdad debe ser algo muy simple, pero sigo sin entenderte , espero que te puedas hacer entender bien o sino que alguien te entienda a ver si me aclaro.
 Sorry si no me dejo comprender, mira solo lo que quiero saber es como hago para coger los nombres de las columnas de cualquier tabla para que al hacer el fetch ponga esos nombres de columnas para imprimir los registros con un loop solo eso, ahora espero q si me hayas comprendido por fa ayudame es q es muy urgente es un trabajo q me dejaron y no logro hacerlo.
Gracias.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Conversion A Texto
« Respuesta #5 en: Miércoles 3 de Agosto de 2005, 21:48 »
0
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->FETCH (campo1, campo2) INTO NOM_CAMPO, TIPO_DATO;
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->

donde campo1 y campo2 tienen los nombres de acuerdo a los nombres de las tablas consultadas o el alias que el hayas puesto al campo en el select del cursor.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

florjulissa

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Conversion A Texto
« Respuesta #6 en: Jueves 4 de Agosto de 2005, 03:09 »
0
Entiendo que el campo 1 y campo 2 son los nombres de los campos de una determinada tabla no?, pero , como se cuantas poner osea campo1 campo 2 campo 3 , cuantos eso no se sabe por q puede ser de cualquier tabla , esa es la cosa. Como lo hago se q tu podras ayudarme¡¡¡¡
gracias

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Conversion A Texto
« Respuesta #7 en: Jueves 4 de Agosto de 2005, 06:09 »
0
yua veo.. entonces lo que debes hacer es crear la sentnecia dinamicamante
... es lago complicado de explicar aunque realmente es sencillo...

basicamente creas todo un programa en una variable varchar y los campos lo colocarias dinamicamente para armar la cadena.. luego usas

execute immediate o dbms_sql para ejecuatr lo que quedo en la cadena.

bueno...
investiga acerca de esos comandos y si ves que te sirve pues podremos profundizar mas.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

florjulissa

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Conversion A Texto
« Respuesta #8 en: Miércoles 10 de Agosto de 2005, 17:54 »
0
Cita de: "JuanK"


 
Gracias por tu ayuda pero tengo otra duda como pudo hacer para que se pueda poner esto
cod CAMPOS%ROWTYPE;
donde CAMPOS sea una variable

Poniendo como variable ahí me sale error pues tiene que se el nombre de un cursor o tabla .
¿Como puedo hacer para mandar como variable una tabla y poder ponerla ahi?
Gracias..espero que me hayas entendido.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Conversion A Texto
« Respuesta #9 en: Miércoles 10 de Agosto de 2005, 21:23 »
0
no no se puede tal como lo plateas
una solucion seria pasar comom parametro un ref cursor.. pero nunca lo hc hceho habria que probar.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io