Ссылка где предложение вместо триггера обновления - PullRequest
0 голосов
/ 28 марта 2011

Есть ли способ ссылаться на условие where вместо триггера обновления?

** Дополнительная информация **

Я пытаюсь обойти эту проблему: ИзменитьОператор обновления включает первичный ключ в триггер .

. Этот удивительный продукт попытается обновить строки, которые изменились или могут даже не существовать.Поскольку я не нуждаюсь / не беспокоюсь о существующих данных, если бы я мог изменить предложение where, чтобы оно было более общим, обновление запустилось бы, и я мог бы двигаться дальше.

Ответы [ 2 ]

0 голосов
/ 28 марта 2011

Если вы используете этот конкретный шаблон для обновления данных, которые вы упомянули в комментарии:

UPDATE T SET col1 = xxx WHERE col1 = yyy

то есть, если вы обновите какой-либо столбец на основе его текущего значения, то, я думаю, будет правильным сказать, что да, вы можете 'получить доступ к предложению WHERE'.

На самом деле к вам будут обращаться так называемые «магические таблицы», DELETED и INSERTED, которые содержат значения соответственно до и после обновления. В частности, значения перед обновлением - это те, на которые ссылается предложение WHERE приведенного выше оператора UPDATE.

0 голосов
/ 28 марта 2011

Итак, в удаленной таблице показаны данные, которые вы выбрали с помощью предложения where, поэтому, если вы знаете, где предложение where находится в столбце 1, вы знаете значения, которые вы запрашивали? Но непосредственно знать, что в пункте, где нет, нет. Единственные данные, которые вы имеете в наличии в триггере, - это данные в таблице до и после обновления статистики.

Может быть, если вы скажете, что хотите сделать с помощью триггера, вам будет легче помочь.

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