Ändrar designen för en tabell när den har skapats med instruktionen CREATE TABLE.
Obs!: Databasmotorn i Microsoft Access saknar stöd för ALTER TABLE och de andra datadefinitionsspråkssatserna med andra databaser än Microsoft Access-databaser. Använd DAO-genereringsmetoder i stället.
Syntax
ALTER TABLE table {ADD {COLUMN field type[(size)] [NOT NULL] [CONSTRAINT index] |
ALTER COLUMN fälttyp[(storlek)] | CONSTRAINT multifieldindex} | DROP {COLUMN field I CONSTRAINT indexname} }ALTER TABLE-instruktionen består av följande element:
Element |
Beskrivning |
tabell |
Namnet på tabellen som ska ändras. |
fält |
Namnet på fältet som ska läggas till eller tas bort från tabell. Eller namnet på fältet som ska ändras i tabell. |
typ |
Datatypen för fält. |
storlek |
Fältstorleken i tecken (endast textfält och binära fält). |
index |
Indexet för fält. |
flerfältsindex |
Definitionen av ett flerfältsindex som ska läggas till i tabell. |
indexnamn |
Namnet på flerfältsindexet som ska tas bort. |
Kommentarer
Med instruktionen ALTER TABLE kan du ändra en befintlig tabell på flera olika sätt. Du kan:
-
Använda ADD COLUMN till att lägga till ett nytt fält i tabellen. Du anger fältnamnet, datatypen och kan lägga till en storlek (för textfält och binära fält). Följande instruktion lägger till exempel till ett 25 tecken långt textfält med namnet Notes i tabellen Employees:
ALTER TABLE Employees ADD COLUMN Notes TEXT(25)
Du kan också definiera ett index för fältet.
Om du anger NOT NULL för ett fält måste nya poster ha giltiga data i fältet.
-
Använda ALTER COLUMN till att ändra datatypen för ett befintligt fält. Du anger fältnamnet, den nya datatypen och kan lägga till en storlek för textfält och binära fält. Följande instruktion ändrar till exempel datatypen för ett fält i tabellen Employees med namnet ZipCode (ursprungligen definierat som ett heltal) till ett textfält med 10 tecken:
ALTER TABLE Employees ALTER COLUMN ZipCode TEXT(10)
-
Använda ADD CONSTRAINT till att lägga till ett flerfältsindex.
-
Använda DROP COLUMN till att ta bort ett fält. Du anger bara namnet på fältet.
-
Använda DROP CONSTRAINT till att ta bort ett flerfältsindex. Du anger bara indexnamnet efter det reserverade ordet CONSTRAINT.
Meddelanden:
-
Du kan inte lägga till eller ta bort flera fält eller index åt gången.
-
Du kan använda instruktionen CREATE INDEX till att lägga till ett index med ett eller flera fält i en tabell, och du kan använda instruktionerna ALTER TABLE eller DROP till att ta bort ett index som skapats med ALTER TABLE eller CREATE INDEX.
-
Du kan använda NOT NULL på ett enstaka fält eller inom en namngiven CONSTRAINT-sats som gäller antingen ett enstaka fält eller flera fält. Du kan däremot bara använda begränsningen NOT NULL en gång för ett fält. Om du försöker använda den här begränsningen flera gånger genereras ett körningsfel.
-