2015-04-25 3 views
3

Я уже пытался изменить типы таблиц, определенные пользователем, но не работает с изменением.Как изменить пользовательские типы таблиц

alter TYPE [dbo].[GriDDateTab] AS TABLE(
    [Application [varchar](50) NOT NULL, 
    [LandDist] [char](2) NULL, 
    [Land] [char](3) NULL, 
    [LandVi] [char](4) NULL) 
+1

Если вы даже * посмотрели * на [официальной электронной почте MSDN SQL Server Books Online] (https://msdn.microsoft.com/en-us/library /cc879314.aspx) - вы увидите, что ** нет ** 'ALTER TYPE'. Просто нет. Вам нужно сбросить свой тип и снова создать его. –

+0

Измените' [Application' на ' [Приложение] ';). –

ответ

4

Необходимо бросить и воссоздать. Это означает, что если у вас есть какие-либо ссылки (например, хранимые процедуры) с использованием этого типа, эта ссылка сначала должна быть удалена.

+0

Плохая новость в том, что это также упустит любые предоставленные права на объект ... –

0

К сожалению, все сказанное верно, но вы можете сэкономить некоторое время, перейдя в контекстное меню таблицы тип-> Рукописные User-Defined Таблица типа, как ..

При использовании DROP и CREATE Для Окно запроса вы можете внести свои изменения и нажать «выполнить».

Вам все равно придется воссоздавать ссылки в других структурах программ.

1

Плохая новость заключается в том, что вы должны удалить и заново создать в SQL сервер не (по крайней мере до тех пор, поддержка 2012 это.

Хорошая новость заключается в том, что хранимые процедуры и функции должны подобрать тип таблицы изменения «на лету» без необходимости отбрасывать и воссоздавать.

+0

Я не верю, что хорошие новости верны, см. Другие ответы – KCD

Смежные вопросы