Oracle ALTER TABLE MODIFY-kolom

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

Write a Comment

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *