Seria algo asi.
Código SQL:
Ver originalDECLARE
TYPE arreglo_varchar2 IS TABLE OF VARCHAR2(32000);
v_arreglo arreglo_varchar2;
v_contador NUMBER := 0;
BEGIN
-- Equality test causes compilation error
FOR cur IN (
SELECT COALESCE(vpCAMPOCOMP1,'')+TO_CHAR(COLUMN_ID)||'.'| |COLUMN_NAME||' '||DATA_TYPE||
CASE WHEN CHAR_COL_DECL_LENGTH IS NULL THEN
' '
ELSE
TO_CHAR(CHAR_COL_DECL_LENGTH)
END CASE campo
FROM USER_TAB_COLUMNS WHERE TABLE_NAME='HISTORIAL_MODELO'
)
LOOP
v_arreglo(v_contador) := cur.campo;
v_contador := v_contador + 1;
END LOOP;
END;
/
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