Oracle ALTER TABLE MODIFY Column (Svenska)

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

Write a Comment

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *