Trocar as colunas LONGs por CLOBs (usando TO LOB)
De DTI Wiki
OBRIGATÓRIO
Os campos do tipo LONG não serão mais suportados no futuro e devem ser substituídos por campos do tipo CLOB. Entre as vantagens de utilização do CLOB estão a possibilidade de criação de mais de um campo CLOB por tabela e a utilização de funções nestes campos, como por exemplo a função SUBSTR.
COMO FAZER
/* Tabela existente com campo long */ CREATE TABLE tblteste (codigo NUMBER(3,0), campo1 LONG); /* Maneira mais fácil, porém não funciona em todos os casos */ /* Alterar o campo LONG existente para CLOB */ ALTER TABLE tblteste modify campo1 CLOB LOB (campo1novo) STORE AS (TABLESPACE lobdata STORAGE (INITIAL ...)); /* Maneira mais trabalhosa, mas funciona em todos os casos */ /* Criar um novo campo CLOB */ ALTER TABLE tblteste add (campo1novo CLOB) LOB (campo1novo) STORE AS (TABLESPACE lobdata STORAGE (INITIAL ...)); /* Copiar o conteúdo do campo LONG para o novo campo CLOB */ UPDATE tblteste d SET d.campo1novo = (SELECT TO_LOB(o.campo1) FROM tblteste o WHERE o.codigo = d.codigo); /* Eliminar o campo LONG */ ALTER TABLE tblteste DROP column campo1; /* Renomear o campo CLOB para o nome do antigo campo LONG */ ALTER TABLE tblteste rename column campo1novo TO campo1;