Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/12/2013, 08:11
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 3 meses
Puntos: 360
Respuesta: Obtener todos los campos de una tabla en una variable de tipo cadena en or

Seria algo asi.

Código SQL:
Ver original
  1. DECLARE
  2.  TYPE arreglo_varchar2 IS TABLE OF VARCHAR2(32000);
  3.  v_arreglo arreglo_varchar2;
  4.    v_contador NUMBER := 0;
  5. BEGIN
  6.   -- Equality test causes compilation error
  7.   FOR cur IN (
  8. SELECT COALESCE(vpCAMPOCOMP1,'')+TO_CHAR(COLUMN_ID)||'.'| |COLUMN_NAME||' '||DATA_TYPE||
  9. CASE WHEN CHAR_COL_DECL_LENGTH IS NULL THEN
  10. ' '
  11. ELSE
  12. TO_CHAR(CHAR_COL_DECL_LENGTH)
  13. END CASE campo
  14. FROM USER_TAB_COLUMNS WHERE TABLE_NAME='HISTORIAL_MODELO'
  15. )
  16.   LOOP
  17.      v_arreglo(v_contador) := cur.campo;
  18.      v_contador := v_contador + 1;
  19.   END LOOP;
  20. END;
  21. /

Un cursor que abre la consulta de las columnas. Una tabla pl tipo varchar que almacena la totalidad de campos.

No lo he probado pero creo que funciona.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming