Konvertiert LONG zu VARCHAR2 oder text-Datentyp
Wie wir alle wissen, LÄNGST veraltet ist in Oracle eine lange zurück, aber Oracle selbst ist immer noch mit diesem Datentyp in Ihren Ansichten.
So, wenn ich LANGE in eine Art von Datentyp text, wie kann ich erreichen, dass.
Ich versuche, diese Abfrage und erste Fehler.
ORA-00932: inconsistent datatypes: expected - got LONG
Abfrage -
SELECT NVL(ie.column_expression, ic.column_name)
from user_ind_columns ic left join user_ind_expressions ie on ic.index_name = ie.index_name and ic.table_name = ie.table_name
where ic.table_name = 'Some Table'
InformationsquelleAutor Ashish | 2015-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Methoden, eine solche ist
create table
mitTO_LOB
. Es ist entworfen, um zu konvertieren eine LONG-oder LONG RAW-Spalte in ein CLOB oder BLOB, beziehungsweise. Andere Methoden sind die VerwendungPL/SQL
,DBMS_XMLGEN
. Sie können auchTO_LOB
im insert-Anweisungen.Lassen Sie uns sehen, wie zu konvertieren
LONG
inCLOB
-So, wir haben die Tabelle
t
mit Spalte y sLONG
Daten geben.Können wir sehen, die LANGE Einschränkung.
Verwenden wir
TO_LOB
konvertieren es inCLOB
.Nun haben Sie den gleichen Tisch mit den
LONG
Spalte umgewandeltCLOB
.InformationsquelleAutor Lalit Kumar B
dies ist dumm (wie in wahrscheinlich nicht effizient), aber es funktioniert für samll Längen von y (ie < 2000 Zeichen)..
es arbeitet mit dbms_xmlgen zum generieren eines clob-basierend auf der LANGEN Säule.. dann substr-ing den Wert wieder aus.
dies funktioniert nur für kleine Inhalte der LONG-Spalte. aber das ist alles, was ich hatte, und dieses arbeitete für mich.
InformationsquelleAutor ShoeLace