julho 16, 2013 às 8:06 pm
#105665
Participante
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.