alter table default ((-1)) for [status_id] многократный запуск скрипта

trew
Дата: 31.01.2013 11:43:40
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.
pkarklin
Дата: 31.01.2013 11:52:59
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=141316&msg=1138024

но синтаксис следует поправить под текущие представления каталога.
Гость333
Дата: 31.01.2013 11:55:00
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];
trew
Дата: 31.01.2013 12:02:06
Всем спасибо!