Slik konverterer LONG til NCLOB
Oracle anbefaler å konvertere noen gamle tabeller i databasen som inneholder langtids kolonner i LOB / NCLOB kolonner fordi LONG datatypen ikke kan fungere på riktig måte i fremtidige versjoner. Det er en grense på ett LONG kolonne per bord, men ingen restriksjoner på hvor mye LOB-kolonner. Replication støtter LOB-kolonner men ikke lenge kolonner. Den lange datatype lagrer variabel lengde tegndata opptil 2 GB i størrelse. Den NCLOB datatype bruker multibyte nasjonale tegnsett og butikker variabel lengde tegndataene opptil 4 GB i størrelse. Konverter LONG data i NCLOB med "ALTER Endre" kommando eller "TO_LOB" operator.
Bruksanvisning
1 Åpne den foretrukne verktøyet, for eksempel SQL Command Line, som du bruker til å spørre din Oracle database.
2 Konvertere et bord med en lang kolonne i et NCLOB kolonne ved å utføre følgende to spørsmål:
CREATE TABLE test1 (ID-nummer, long_c LONG);
ALTER TABLE test1 ENDRER (long_c NCLOB);
Annet "ALTER TABLE alternativer" ikke er tillatt i en spørring med en lang å NCLOB konvertering.
3 Konverter en lang verdien i en NCLOB verdi med "TO_LOB" operator, mens sette inn data, ved å utføre følgende spørsmål:
CREATE TABLE test2 (ID-nummer, long_c LONG);
CREATE TABLE test3 (ID-nummer, nclob_c NCLOB);
INSERT INTO test3 SELECT id, TO_LOB (long_c) FRA test2;
BEGÅ;
Den "TO_LOB" -funksjonen vil automatisk konvertere den lange verdier til NCLOB verdier på grunn av de to kolonnedatatyper.