Відповіді:
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
NOT NULL
то його потрібно згадати у запиті, він встановить його NULL
за замовчуванням. ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
alter table Employee alter column salary numeric(22,5)
ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)
Запуск ALTER COLUMN
без згадування атрибута NOT NULL
призведе до того, що стовпець буде змінено на нульовий, якщо його вже немає. Тому спочатку потрібно перевірити, чи стовпчик є нульовим, а якщо ні - вказати атрибут NOT NULL
. Крім того, ви можете використовувати наступне твердження, яке заздалегідь перевіряє нульовість стовпця та запускає команду з правильним атрибутом.
IF COLUMNPROPERTY(OBJECT_ID('Employee', 'U'), 'Salary', 'AllowsNull')=0
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
ELSE
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NULL
Виберіть таблицю -> Дизайн -> змінити значення в Тип даних, показане на рис.
Збережіть дизайн таблиць.
Цікавий підхід можна знайти тут: Як збільшити свої стовпці без простою за допомогою spaghettidba
Якщо ви спробуєте збільшити цей стовпець за допомогою прямої команди «ALTER TABLE», вам доведеться почекати, коли SQLServer пройде через всі рядки та напише новий тип даних
ALTER TABLE tab_name ALTER COLUMN col_name new_larger_data_type;
Щоб подолати цю незручність, існує ваша чарівна таблетка для збільшення стовпців, яку може прийняти ваш стіл, і вона називається Стиснення рядків. (...) За допомогою стиснення рядків стовпці фіксованого розміру можуть використовувати лише простір, необхідний для найменшого типу даних, куди підходять фактичні дані.
Коли таблиця стискається на ROW
рівні, тоді ALTER TABLE ALTER COLUMN
це лише метадані.