Триггеры SQL Server, хранимые процедуры - PullRequest
0 голосов
/ 19 января 2011

Я никогда не использовал триггеры или хранимые процедуры. Теперь я хочу изучить, как и когда я использую это. У меня есть таблица с именем Products, когда при заполнении таблицы продуктов строкой я хочу скопировать ProductID и UnitsInStock и набор в таблицу Inventory. Есть одна проблема в таблице инвентаря - это столбец, который должен заполнять пользователя на покупку, когда строка заполняется Будут ли в этой ситуации полезны триггеры или хранимые процедуры?

Ответы [ 3 ]

1 голос
/ 19 января 2011

Лично я никогда не использовал бы триггеры, когда я использую код, хорошо, если вся ваша работа выполняется в SQLПричина в том, что вначале кому-то еще трудно понять, что это триггер, выполняющий работу в бэкэнде.В частности, если в вашем коде есть ошибка ... триггеры - это последнее, что вы проверяете.И если имена столбцов меняются, легко обнаружить ошибку в коде.Хранимые процедуры хороши, но все зависит от организации к организации.Я начал делать sql в коде и мне это нравится, поскольку нет никакой работы по просмотру сотен хранимых процедур для соответствующей.Хотя мои взгляды ...

0 голосов
/ 19 января 2011

Используйте хранимую процедуру, передайте все значения, которые необходимы в качестве параметров, затем в транзакции отправьте изменения в таблицу продуктов и затем в таблицу инвентаризации, а затем зафиксируйте изменения в обеих таблицах одновременно - так что обе таблицыобновлено, либо нет.

0 голосов
/ 19 января 2011

Если вам просто нужно скопировать материал из одной таблицы в другую после вставки или обновления, триггер является правильным способом сделать это.

Но если в вашем случае столбец должен быть заполнен пользовательскими данными, вам, вероятно, придется делать это из своего кода.

Об использовании хранимых процедур: взгляните на this . Но в Интернете много дискуссий на эту тему. Просто погуглите немного вокруг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...