Pular para o conteúdo
#105665
rman
Participante

    @DBA_LUCAS

    Veja a resposta do DomBrooks, seguindo a ideia dele:


    CREATE TABLE T1 AS
    SELECT TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH,TO_LOB(DATA_DEFAULT) DATA_DEFAULT
    FROM USER_TAB_COLUMNS
    WHERE DATA_DEFAULT IS NOT NULL;

    SELECT 'ALTER TABLE '||TABLE_NAME|| ' MODIFY '||COLUMN_NAME||' '||DATA_TYPE||'('||DATA_LENGTH||') DEFAULT "'||DATA_DEFAULT||'";' SQL_TEXT FROM T1 WHERE DATA_DEFAULT IS NOT NULL ;

    DROP TABLE T1 PURGE;

    A sacada é que é permitido o TO_LOB em um CTAS. Realmente o TO_LOB em um SELECT simples da erro.