Jeśli używasz SQL Server i chcesz użyć T-SQL do zmiany rozmiaru istniejącej kolumny, ten artykuł może pomóc.
Przez „zmianę rozmiaru istniejącej kolumny” mam na myśli zmianę rozmiaru danych. Załóżmy na przykład, że masz varchar(255)
ale chcesz zwiększyć jego rozmiar do varchar(500)
. Oto, co musisz zrobić w takim przypadku.
Oświadczenie ALTER TABLE
Jeśli robisz to z T-SQL, musisz użyć ALTER TABLE
oświadczenie. Ta instrukcja umożliwia zmianę definicji tabeli po jej utworzeniu (i może również zawierać dane).
Oto przykład zmiany rozmiaru istniejącej kolumny:
ALTER TABLE Tasks ALTER COLUMN TaskDescription varchar(500); GO
Ten przykład modyfikuje Tasks
tabeli poprzez zmianę rozmiaru TaskDescription
kolumna.
To oczywiście zakłada, że kolumna (i tabela) już istnieją w bazie danych. W przeciwnym razie pojawi się błąd.
Sprawdź wyniki
Możesz sprawdzić rozmiar kolumny, uruchamiając zapytanie względem INFORMATION_SCHEMA.COLUMNS
. Tak:
USE Solutions; SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Tasks';
Wynik:
COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH --------------- --------- ------------------------ ---------------------- TaskId int null null TaskName nvarchar 255 510 TaskDescription varchar 500 500
W takim przypadku przełączamy się na właściwą bazę danych (Solutions
), następnie wysyłamy zapytanie INFORMATION_SCHEMA.COLUMNS
aby uzyskać informacje o kolumnach w Tasks
stół. Moglibyśmy zawęzić to do kolumny, która nas interesuje, gdyby w tabeli było zbyt wiele kolumn, ale w tym przykładzie trzy kolumny nie stanowią problemu.