Samenvatting: in deze tutorial leert u hoe u de Oracle ALTER TABLE MODIFY
column-instructie om de definitie van bestaande kolommen te wijzigen.
Om de definitie van een kolom in een tabel te wijzigen, gebruikt u de ALTER TABLE MODIFY
kolomsyntaxis als volgt:
De bewering is duidelijk. Om een kolom van een tabel te wijzigen, moet u de kolomnaam, tabelnaam en actie specificeren die u wilt uitvoeren.
Met Oracle kunt u veel acties uitvoeren, maar de volgende zijn de belangrijkste:
- Wijzig de zichtbaarheid van de kolom
- Sta al dan niet null-waarden toe
- Verkort of verbreed de grootte van de kolom
- Wijzig de standaardwaarde van een kolom
- De uitdrukking van de virtuele kolommen wijzigen
Om meerdere kolommen te wijzigen, gebruikt u de volgende syntaxis:
Oracle ALTER TABLE MODIFY kolomvoorbeelden
Maak eerst een nieuwe tabel met de naam accounts
voor de demonstratie:
Ten tweede, voeg enkele rijen in de accounts
tabel in:
Ten derde, verifieer de invoegbewerking door het volgende te gebruiken SELECT
instructie:
A) Wijzig de zichtbaarheid van de kolom ity
In Oracle Database 12c kunt u tabelkolommen definiëren als onzichtbaar of zichtbaar. Onzichtbare kolommen zijn niet beschikbaar voor de zoekopdracht, zoals:
Of een verklaring zoals:
in SQL * Plus.
U kunt echter de onzichtbare kolommen opvragen door ze expliciet in de zoekopdracht op te geven:
Door standaard zijn tabelkolommen zichtbaar. U kunt een onzichtbare kolom definiëren wanneer u de tabel maakt of door ALTER TABLE MODIFY
kolominstructie te gebruiken.
De volgende instructie maakt bijvoorbeeld de full_name
kolom onzichtbaar:
De volgende instructie retourneert gegevens uit alle kolommen van de accounts
-tabel behalve de full_name
-kolom :
Dit komt doordat de full_name
kolom onzichtbaar is.
Om een kolom van onzichtbaar naar zichtbaar, gebruik je de onderstaande verklaring:
B) Sta al dan niet toe null voorbeeld
De volgende verklaring verandert de email
kolom om niet-null-waarden te accepteren:
Oracle gaf echter de volgende foutmelding:
Omdat wanneer je een kolom veranderde van nullable in n on-nullable, moet u ervoor zorgen dat de bestaande gegevens voldoen aan de nieuwe beperking.
Om dit op te lossen, werken we eerst de waarden voor de email
kolom bij:
Merk op dat de functie LOWER()
een tekenreeks omzet in kleine letters.
En verander vervolgens de kolom beperking:
Nu werkt het zoals verwacht.
C) Vergroot of verkort de grootte van een kolomvoorbeeld
Stel dat we internationale code aan de telefoonnummers willen toevoegen. Voordat we dit doen, moeten we de grootte van de telefoonkolom vergroten door de volgende verklaring te gebruiken:
Nu kunnen we de telefoonnummers bijwerken:
De volgende verklaring verifieert de update:
Om de grootte van een kolom te verkleinen, moet u ervoor zorgen dat alle gegevens in de kolom in de nieuwe grootte passen.
We proberen bijvoorbeeld de grootte van de phone
kolom in te korten tot 12 tekens:
Oracle Database gaf de volgende foutmelding:
Om dit op te lossen, moeten we eerst de internationale code van de telefoonnummers verwijderen:
De functie REPLACE()
vervangt een substring door een nieuwe substring. In dit geval vervangt het de ‘+ 1-’ door een lege tekenreeks.
En verkort vervolgens de grootte van de phone
kolom:
D) Wijzigen virtuele kolom
Stel dat we de volledige naam in het volgende formaat hebben:
Om dit te doen, kunnen we de uitdrukking van de virtuele kolom full_name
als volgt:
De volgende verklaring verifieert de wijziging:
E) Wijzig de standaardwaarde van een kolom
Laten we een nieuwe kolom met de naam status
toevoegen aan de accounts
-tabel met de standaardwaarde 1.
Nadat u de instructie heeft uitgevoerd, worden de waarden in de statuskolom ingesteld op 1 voor alle bestaande rijen in de tabel accounts
.
Om de standaardwaarde te wijzigen o Als de statuskolom op 0 staat, gebruik je de volgende instructie:
We kunnen een nieuwe rij toevoegen aan de accounts
tabel om te controleren of de standaardwaarde van de status
kolom 0 of 1 is:
Gegevens opvragen uit de accounts
tabel:
Zoals u kunt zien, is de waarde in de statuskolom voor het account met id 4 zoals verwacht 0.
In deze tutorial heeft u geleerd hoe u de Oracle ALTER TABLE MODIFY
kolominstructie gebruikt om de definitie van bestaande kolommen in een tabel te wijzigen.
- Was deze tutorial nuttig?
- JaNee