Conversione da long a varchar2 non è possibile utilizzare subito una singola istruzione, in quanto long ha determinate restrizioni.
Puoi Creare una tabella temporanea oppure usa il codice PL/SQL per risolvere il tuo problema:
-
Tavolo Temporaneo:
CREATE TABLE TABLE2 AS SELECT TO_LOB(COLUMN1) COLUMN FROM TABLE1; -
Codice PL/SQL:
DECLARE VAR1 LONG; VAR2 VARCHAR2(4000); BEGIN SELECT TEXT INTO VAR1 FROM USER_VIEWS WHERE ROWNUM = 1; VAR2 := SUBSTR(VAR1, 1, 4000); DBMS_OUTPUT.PUT_LINE(VAR2); END;