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.