Samenvatting: in deze tutorial leert u hoe u de SQL Server ALTER TABLE ALTER COLUMN
instructie om een kolom van een tabel te wijzigen.
Met SQL Server kunt u de volgende wijzigingen aanbrengen in een bestaande kolom van een tabel:
- Het gegevenstype wijzigen
- Verander de grootte
- Voeg een
NOT NULL
beperking toe
Wijzig het gegevenstype van de kolom
Om het gegevenstype van een kolom te wijzigen, gebruik je de volgende verklaring:
Code language: SQL (Structured Query Language) (sql)
Het nieuwe gegevenstype moet compatibel zijn met het oude, anders moet u krijgt een conversiefout als de kolom gegevens bevat en deze niet kan worden geconverteerd.
Zie het volgende voorbeeld.
Maak eerst een nieuwe tabel met één kolom waarvan het gegevenstype is INT
:
Code language: SQL (Structured Query Language) (sql)
Voeg vervolgens enkele rijen in de tabel in:
Code language: SQL (Structured Query Language) (sql)
Tweede, mo verander het gegevenstype van de kolom van INT
naar VARCHAR
:
Code language: SQL (Structured Query Language) (sql)
Ten derde, voeg een nieuwe rij in met een tekenreeks data:
Code language: SQL (Structured Query Language) (sql)
Ten vierde, wijzig het gegevenstype van de kolom van VARCHAR
terug naar INT
:
Code language: SQL (Structured Query Language) (sql)
SQL Server gaf de volgende foutmelding:
Code language: SQL (Structured Query Language) (sql)
Verander de grootte van een kolom
De volgende instructie creëert een nieuwe tabel met één kolom waarvan het gegevenstype is VARCHAR(10)
:
Code language: SQL (Structured Query Language) (sql)
Laten we wat voorbeeldgegevens invoegen in de t2-tabel:
Code language: SQL (Structured Query Language) (sql)
U kunt de grootte van de kolom als volgt vergroten:
Code language: SQL (Structured Query Language) (sql)
Wanneer u echter de grootte van de kolom, controleert SQL Server de bestaande gegevens om te zien of het gegevens kan converteren op basis van de nieuwe grootte. Als de conversie mislukt, beëindigt SQL Server de instructie en geeft een foutbericht weer.
Als u bijvoorbeeld de grootte van de kolom c
verkleint tot 5 tekens:
Code language: SQL (Structured Query Language) (sql)
SQL Server gaf de volgende foutmelding:
Code language: SQL (Structured Query Language) (sql)
Voeg een NOT NULL-beperking toe aan een nullable-kolom
De volgende instructie maakt een nieuwe tabel met een nul-kolom:
Code language: SQL (Structured Query Language) (sql)
De volgende instructie voegt enkele rijen in de tabel in :
Code language: SQL (Structured Query Language) (sql)
Als u de NOT NULL
beperking wilt toevoegen aan de kolom c
, je moet NULL eerst updaten naar niet-null, bijvoorbeeld:
Code language: SQL (Structured Query Language) (sql)
En voeg dan de NOT NULL
constraint:
Code language: SQL (Structured Query Language) (sql)
In deze tutorial heb je geleerd hoe je de SQL Server ALTER TABLE ALTER COLUMN
kunt gebruiken om enkele eigenschappen van een bestaande kolom.