La conversion de Long à Varchar2

Je suis en train de les insérer dans varchar2 colonne à partir d'une longue colonne. voici l'exemple ci-dessous, TEXT.TEXT_COL = VARCHAR2(4000)
et NOTE.TEXT_NOTE = LONG.

INSERT INTO TEXT(ROW_ID, TEXT_COL)
SELECT 1, TEXT_NOTE FROM NOTE; 

Quand je lance le sql ci-dessus j'obtiens l'erreur

SQL Error: ORA-00997: utilisation illégale de type de données LONG

J'ai utilisé TO_LOB() trop, mais toujours la même erreur.

Est-il une fonction qui tout simplement n'importe où long et le mettre dans varchar2. Laissez-moi savoir vos pensées.

  • vous ne pouvez pas le faire en une seule instruction en utilisant uniquement intégré dans les procédures, reportez-vous à ce thread
  • Vous auriez besoin d'utiliser PL/SQL ou d'un intermédiaire de table avec une colonne de CLOB. Vous voudrez peut-être un CLOB de toute façon, si l'une des valeurs de la colonne sont plus de 4000 octets, bien sûr; ou êtes-vous heureux de tronquer ces?
  • J'ai utiliser ce code sql dans la informatica niveau de la session. J'ai essayé à la cartographie de niveau de informatica construit dans les types de données, mais sa ne fonctionne pas non plus.
  • est-il un autre moyen que je peux gérer cela ?
  • Avez-CAST(TEXT_NOTE QUE VARCHAR) lève une erreur à vous?
InformationsquelleAutor Kriti | 2015-06-23