Conversion depuis long à varchar2 utiliser immédiatement une seule instruction n'est pas possible, car long a certaines restrictions.
Vous pouvez soit Créer une table temporaire ou utilisez le code PL/SQL pour résoudre votre problème :
-
Table temporaire :
CREATE TABLE TABLE2 AS SELECT TO_LOB(COLUMN1) COLUMN FROM TABLE1; -
Code 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;