Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

Триггеры, старое и новое значение поля   Найти похожие ветки 

 
ydv   (2004-08-23 15:17) [0]

пишу триггер в СУБД MS SQL, не знаю как получить значение поля до изменения и после?
Пример кода:
CREATE TRIGGER upd_trig ON my_table
FOR UPDATE
AS
 IF UPDATE (test)
 BEGIN
  DECLARE @tmp INT
  SET @tmp = ... - новое значение поля test  
 END


 
KSergey ©   (2004-08-23 15:19) [1]

> пишу триггер в СУБД MS SQL, не знаю как получить значение
> поля до изменения и после?

Ну елки... А книги?? Ну нельзя освоить MS SQL путем перебирания сочетаний клавиш - жизни не хватит!!!

см. таблицы Inserted и Deleted в справке.


 
stone ©   (2004-08-23 15:19) [2]

см. inserted tables в BOL


 
ydv   (2004-08-23 15:19) [3]

нету книг, в инете тоже не нашел


 
Skyle ©   (2004-08-23 15:20) [4]

BOL - Books OnLine - хелп к клиентским тулзам MS SQL.


 
ydv   (2004-08-23 15:23) [5]

смотрю - нету ни малейшего намека на
REFERENCING OLD AS ...
           NEW AS ...


 
KSergey ©   (2004-08-23 15:23) [6]

> [4] Skyle ©   (23.08.04 15:20)
> BOL - Books OnLine - хелп к клиентским тулзам MS SQL.

Вы его наверное просто не читали ;)


 
ydv   (2004-08-23 15:25) [7]

у меня его нету


 
Skyle ©   (2004-08-23 15:26) [8]


> [6] KSergey ©   (23.08.04 15:23)

А может я его только там и читал? ;-)


 
Skyle ©   (2004-08-23 15:29) [9]


> Skyle ©   (23.08.04 15:26)

Хотя вру... Ещё в MSDN со всеми вытекающими...


 
ydv   (2004-08-23 15:30) [10]

смотрю в книжках, которые есть - нет там ничего. А вы видно сами не знаете? А то давно бы подсказали.


 
KSergey ©   (2004-08-23 15:30) [11]

> [5] ydv   (23.08.04 15:23)

И что?
Блин, ну не прорветесь без книжек, ну что за бред-то??
Мысль вам для раздумывания: триггер в MS SQL вызывается на все записи, попавшие в команды INSERT/UPDATE ОДИН РАЗ


 
KSergey ©   (2004-08-23 15:32) [12]

> [10] ydv   (23.08.04 15:30)
> смотрю в книжках, которые есть - нет там ничего. А вы видно
> сами не знаете? А то давно бы подсказали.

Ответ буквально на вопрос невозможен. Причины - см. [11]


 
ydv   (2004-08-23 15:32) [13]

KSergey ©
во как... и как же мне быть?


 
Skyle ©   (2004-08-23 15:34) [14]

http://msdn.microsoft.com/library/default.asp
Начинать с поиска "CREATE TRIGGER".


 
ydv   (2004-08-23 15:38) [15]

ну так если он один раз вызывается для всех записей? а мне-то надо, посмотреть значение одной записи, значит такой возможности нет


 
A_N_D ©   (2004-08-23 16:34) [16]

select test from deleted до
select test from inserted после


 
KSergey ©   (2004-08-24 09:55) [17]

>  [15] ydv   (23.08.04 15:38)
> ну так если он один раз вызывается для всех записей? а мне-то
> надо, посмотреть значение одной записи, значит такой возможности
> нет

Что значит "мне надо"?? Ну можете взять первую из inserted и успокоиться (или последнюю - ничем не хуже)
Но что делать с остальными?


 
Ega23 ©   (2004-08-24 10:02) [18]

Ты проблему по-нормальному изложи, зуб даю, что решение весьма простое и тривиальное...



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.059 c
6-1089116732
ruslan
2004-07-06 16:25
2004.09.19
modem, i internet


4-1091684841
Santana
2004-08-05 09:47
2004.09.19
FindWindow


1-1094373647
rOOse
2004-09-05 12:40
2004.09.19
Реестр


3-1092947770
Александр333
2004-08-20 00:36
2004.09.19
Generate SQL Sqript


3-1092988776
Tormoz
2004-08-20 11:59
2004.09.19
Oracle SQL*Plus. Где результат запроса?