2012-01-10 3 views
0

Это новый запрос, поскольку старый нельзя удалить.Alter CONSTRAINT использовать только stored_prodedure для вставки (не для обновления)

Я хочу изменить сдерживающую поэтому использует только stored_procedure, когда я вставляю и НЕ ОБНОВЛЕНИЕ таблицы

Есть ли способ сделать это?

С уважением.

+0

Ограничение? * использует * SP? Извините, но что это значит? Либо я никогда не слышал об этом, либо * слышал, но под другим именем. (Хотя я вполне готов найти что-то простое и известное, к моему собственному позору.) В любом случае, пожалуйста, объясните, о чем вы говорите. –

ответ

0

Вы можете использовать триггер INSTEAD OF для отключения CONSTRAINT, а затем UPDATE. Для отключения CONSTRAINT вы можете сделать следующее:

ALTER TABLE YourTable NOCHECK CONSTRAINT ConstraintName 

UPDATE...(FROM INSERTED) 

ALTER TABLE YourTable CHECK CONSTRAINT ConstraintName 
+0

Хорошо, это то, что я ищу, но как мне написать заявление в середине? Обновление (от вставленного)? Допустим, что «реальный» оператор: update table_1 set name = 'pelle', age = 32 где id = 283 и name <> '' – Joe

+0

Кажется, что CONSTRAINT реагирует перед триггером ... – Joe

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