Ответ 1
Alter table tblname ALTER Column colname nvarchar(250) [NOT] NULL
Если NULL
/NOT NULL
не указано, столбец станет Nullable, независимо от того, что когда-либо было в оригинальной спецификации.
Что такое SQL для создания поля от nvarchar(50)
до nvarchar(250)
?
Когда я пытаюсь изменить его с помощью SQL Server Management Studio, это не позволяет мне это делать, поэтому я решил, что я попробую SQL напрямую, вместо использования графического интерфейса.
Alter table tblname ALTER Column colname nvarchar(250) [NOT] NULL
Если NULL
/NOT NULL
не указано, столбец станет Nullable, независимо от того, что когда-либо было в оригинальной спецификации.
ALTER TABLE MyTable
ALTER COLUMN MyColumn varchar(NewSize)
Утверждение ALTER TABLE
Оператор ALTER TABLE используется для добавления, удаления или изменения столбцов в существующей таблице. SQL ALTER TABLE Синтаксис
Чтобы добавить столбец в таблицу, используйте следующий синтаксис:
ALTER TABLE table_name
ADD column_name datatype
Чтобы удалить столбец в таблице, используйте следующий синтаксис (обратите внимание, что некоторые системы баз данных не позволяют удалить столбец):
ALTER TABLE table_name
DROP COLUMN column_name
Чтобы изменить тип данных столбца в таблице, используйте следующий синтаксис:
Доступ к SQL Server/MS:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
Мой SQL/Oracle (предыдущая версия 10G):
ALTER TABLE имя_таблицы MODIFY COLUMN column_name datatype
Oracle 10G и более поздние версии:
ALTER TABLE table_name
MODIFY column_name datatype
Иногда бывает безопаснее проверить, существует ли таблица в первую очередь...
IF COL_LENGTH('[tablename]','[tablecolumn]') IS NULL
BEGIN
ALTER TABLE tablename
ALTER COLUMN [tablecolumn]
NVARCHAR(500)
END
Для разработчиков Oracle SQL
Изменить tblname таблицы MODIFY (colname varchar2 (250));
Описание: Увеличивает длину столбца. где 250 представляют обновленную (увеличенную) длину столбца.
alter table employee modify (firstname varchar2(9),lastname varchar2(9),email varchar2(9));
-- Table altered.
alter table employee modify (firstname,lastname,email varchar2(9));
-- Table altered.