Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 alter table default ((-1)) for [status_id] многократный запуск скрипта  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
ALTER TABLE [dbo].table2 ADD DEFAULT ((-1)) FOR [status_id]

Помогите написать условие проверки, если значение по умолчанию для поля уже есть - тогда скрипт не запускать.

Чтобы при многократном запуске не было ошибки:

Msg 1781, Level 16, State 1, Line 2
Column already has a DEFAULT bound to it.
Msg 1750, Level 16, State 0, Line 2
Could not create constraint. See previous errors.
31 янв 13, 11:43    [13855586]     Ответить | Цитировать Сообщить модератору
 Re: alter table default ((-1)) for [status_id] многократный запуск скрипта  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=141316&msg=1138024

но синтаксис следует поправить под текущие представления каталога.
31 янв 13, 11:52    [13855658]     Ответить | Цитировать Сообщить модератору
 Re: alter table default ((-1)) for [status_id] многократный запуск скрипта  [new]
Гость333
Member

Откуда:
Сообщений: 3683
trew,

IF NOT EXISTS
(  SELECT *
   FROM sys.default_constraints c
   WHERE c.parent_object_id = OBJECT_ID(N'dbo.table2')
         AND COL_NAME(c.parent_object_id, c.parent_column_id) = N'status_id'
)
   ALTER TABLE [dbo].table2 ADD DEFAULT ((-1)) FOR [status_id];
31 янв 13, 11:55    [13855678]     Ответить | Цитировать Сообщить модератору
 Re: alter table default ((-1)) for [status_id] многократный запуск скрипта  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Всем спасибо!
31 янв 13, 12:02    [13855730]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить