2012-06-07 2 views
-1

У меня 2 таблицы: product и UnproveProductтриггер или вставить

Когда продукт вставляется, одна строка должна быть вставлена ​​для этого нового продукта в UnprovedProduct.

Какое решение лучше и почему?

  1. создать триггер после вставки на Product
  2. в процедуре при вставке строки в Product затем также вставить строку в UnprovedProduct

ответ

1

я бы выбрал # 2.

Почему?

  • Триггеры, как известно, раздражает, и, как правило, вызывают неожиданные проблемы - вы не можете контролировать, как и когда они стреляют, с одной стороны ....

  • Если вы уже имеют процедуру вставки данных в Products - просто расширьте это и добавьте строку в UnprovedProduct одновременно. У вас намного лучший контроль над тем, что вы делаете в процедуре (по сравнению с триггером)

+0

Включение триггеров в папку триггеров после их создания. Моя побежала успешно, но потом ничего не происходит, и я не могу найти ее в папке. –

+0

Мне нужен действительно хороший пример триггера для Microsoft SQL –

1

Это идеальное решение для триггера. Триггеры не таинственны, и их трудно предсказать. Они всего лишь инструмент, и они следуют очень конкретным правилам. В этом случае триггер запускается сразу после вставки записи.

Вы можете продлить процедуру вставки, но следующий парень не будет использовать ее, и ваши записи не будут правильно вставлены.

CREATE TRIGGER Insert_UnProvedProduct о продукте ПОСЛЕ INSERT КАК НАЧАТЬ

вставить в UnProvedProduct ( поле1, поле2, field3 ) ВЫБОР поле1, поле2, field3 ОТ INSERTED

END

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