Sammanfattning: i denna handledning lär du dig hur du använder Oracle ALTER TABLE MODIFY kolumnuttryck för att ändra definitionen av befintliga kolumner.
För att ändra definitionen av en kolumn i en tabell använder du ALTER TABLE MODIFY kolumnens syntax enligt följande:
Uttalandet är enkelt. För att ändra en kolumn i en tabell måste du ange kolumnnamn, tabellnamn och åtgärd som du vill utföra.
Oracle låter dig utföra många åtgärder men följande är de viktigaste:
- Ändra kolumnens synlighet
- Tillåt eller tillåt inte nullvärden
- Förkorta eller bredda kolumnens storlek
- Ändra standardvärde för en kolumn
- Ändra uttryck för de virtuella kolumnerna
För att ändra flera kolumner använder du följande syntax:
Oracle ALTER TABLE MODIFY kolumnexempel
Skapa först en ny tabell med namnet accounts för demonstrationen:
För det andra, sätt in några rader i accounts -tabellen:
För det tredje, verifiera insättningsfunktionen med följande SELECT uttalande:
A) Ändra kolumnens synlighet it
I Oracle Database 12c kan du definiera tabellkolumner som osynliga eller synliga. Osynliga kolumner är inte tillgängliga för frågan som:
Eller uttalande som:
i SQL * Plus.
Du kan dock fråga de osynliga kolumnerna genom att ange dem uttryckligen i frågan:
By som standard visas tabellkolumner. Du kan definiera osynlig kolumn när du skapar tabellen eller använder ALTER TABLE MODIFY kolumnuttalande.
Till exempel gör följande uttalande full_name osynlig kolumn:
Följande uttalande returnerar data från alla kolumner i accounts tabellen förutom kolumnen full_name :
Detta beror på att kolumnen full_name är osynlig.
För att ändra en kolumn från osynlig till synlig, använder du uttalandet nedan:
B) Tillåt eller tillåt inte null-exempel
Följande uttalande ändras email kolumnen för att acceptera icke-nollvärden:
Oracle har emellertid utfärdat följande fel:
För när du ändrade en kolumn från nollbar till n on-nullable måste du se till att befintliga data uppfyller den nya begränsningen.
För att åtgärda detta uppdaterar vi först värdena för email -kolumnen:
Observera att funktionen LOWER() konverterar en sträng till gemener.
Och ändra sedan kolumnens begränsning:
Nu fungerar den som förväntat.
C) Bredda eller förkorta kolumnexempelets storlek
Antag att vi vill lägga till internationell kod i telefonnummer. Innan vi gör det måste vi vidga storleken på telefonkolumnen med följande uttalande:
Nu kan vi uppdatera telefonnummer:
Följande uttalande verifierar uppdateringen:
För att förkorta storleken på en kolumn, se till att alla data i kolumnen passar den nya storleken.
Till exempel försöker vi förkorta kolumnen phone till 12 tecken:
Oracle Database gav följande fel:
För att åtgärda detta bör vi först ta bort den internationella koden från telefonnumren:
Funktionen REPLACE() ersätter en substring med en ny substring. I det här fallet ersätter den ’+ 1-’ med en tom sträng.
Och förkorta sedan kolumnen phone:
D) Ändra virtuell kolumn
Antag att vi har hela namnet i följande format:
För att göra detta kan vi ändra uttrycket för virtuell kolumn full_name enligt följande:
Följande uttalande verifierar modifieringen:
E) Ändra standardvärdet för en kolumn
Låt oss lägga till en ny kolumn med namnet status till accounts -tabellen med standardvärde 1.
När du har kört uttalandet sätts värdena i statuskolumnen till 1 för alla befintliga rader i accounts -tabellen.
För att ändra standardvärdet o f statuskolumnen till 0 använder du följande påstående:
Vi kan lägga till en ny rad i accounts tabell för att kontrollera om standardvärdet för kolumnen status är 0 eller 1:
Frågedata från accounts tabell:
Som du kan se är värdet i statuskolumnen för kontot med id 4 som förväntat.
I den här självstudien har du lärt dig hur du använder Oracle ALTER TABLE MODIFY kolumnuttrycket för att ändra definitionen av befintliga kolumner i en tabell.
- Hjälpte den här guiden sig?
- JaNej