![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Триггеры, старое и новое значение поля [D7, MSSQL]
ydv © (2004-08-23 15:17:00)пишу триггер в СУБД MS SQL, не знаю как получить значение поля до изменения и после?
Пример кода:
CREATE TRIGGER upd_trig ON my_table
FOR UPDATE
AS
IF UPDATE (test)
BEGIN
DECLARE @tmp INT
SET @tmp = ... - новое значение поля test
END
Ega23 (2004-08-24 10:02:00) [1]Ты проблему по-нормальному изложи, зуб даю, что решение весьма простое и тривиальное...
KSergey (2004-08-24 09:55:00) [2]> [15] ydv (23.08.04 15:38)
> ну так если он один раз вызывается для всех записей? а мне-то
> надо, посмотреть значение одной записи, значит такой возможности
> нет
Что значит "мне надо"?? Ну можете взять первую из inserted и успокоиться (или последнюю - ничем не хуже)
Но что делать с остальными?
A_N_D (2004-08-23 16:34:00) [3]select test from deleted до
select test from inserted после
ydv (2004-08-23 15:38:00) [4]ну так если он один раз вызывается для всех записей? а мне-то надо, посмотреть значение одной записи, значит такой возможности нет
Skyle (2004-08-23 15:34:00) [5]http://msdn.microsoft.com/library/default.asp
Начинать с поиска "CREATE TRIGGER".
ydv (2004-08-23 15:32:00) [6]KSergey ©
во как... и как же мне быть?
KSergey (2004-08-23 15:32:00) [7]> [10] ydv (23.08.04 15:30)
> смотрю в книжках, которые есть - нет там ничего. А вы видно
> сами не знаете? А то давно бы подсказали.
Ответ буквально на вопрос невозможен. Причины - см. [11]
ydv (2004-08-23 15:30:00) [8]смотрю в книжках, которые есть - нет там ничего. А вы видно сами не знаете? А то давно бы подсказали.
KSergey (2004-08-23 15:30:00) [9]> [5] ydv (23.08.04 15:23)
И что?
Блин, ну не прорветесь без книжек, ну что за бред-то??
Мысль вам для раздумывания: триггер в MS SQL вызывается на все записи, попавшие в команды INSERT/UPDATE ОДИН РАЗ
Skyle (2004-08-23 15:29:00) [10]
> Skyle © (23.08.04 15:26)
Хотя вру... Ещё в MSDN со всеми вытекающими...
Skyle (2004-08-23 15:26:00) [11]
> [6] KSergey © (23.08.04 15:23)
А может я его только там и читал? ;-)
ydv (2004-08-23 15:25:00) [12]у меня его нету
KSergey (2004-08-23 15:23:00) [13]> [4] Skyle © (23.08.04 15:20)
> BOL - Books OnLine - хелп к клиентским тулзам MS SQL.
Вы его наверное просто не читали ;)
ydv (2004-08-23 15:23:00) [14]смотрю - нету ни малейшего намека на
REFERENCING OLD AS ...
NEW AS ...
Skyle (2004-08-23 15:20:00) [15]BOL - Books OnLine - хелп к клиентским тулзам MS SQL.
KSergey (2004-08-23 15:19:00) [16]> пишу триггер в СУБД MS SQL, не знаю как получить значение
> поля до изменения и после?
Ну елки... А книги?? Ну нельзя освоить MS SQL путем перебирания сочетаний клавиш - жизни не хватит!!!
см. таблицы Inserted и Deleted в справке.
ydv (2004-08-23 15:19:00) [17]нету книг, в инете тоже не нашел
stone (2004-08-23 15:19:00) [18]см. inserted tablesв BOL