Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.034 c
1-1094135805
Lord de Mon
2004-09-02 18:36
2004.09.19
Filter


1-1094047008
bloodman
2004-09-01 17:56
2004.09.19
Возможно ли передать в процедуру динамический массив?


1-1094558392
Прямой
2004-09-07 15:59
2004.09.19
Можно ли главной формой сделать Form2


4-1091346018
Protoss
2004-08-01 11:40
2004.09.19
А правда реально разбудить компьютер из режима слип программно?


1-1094531711
Andrey V.
2004-09-07 08:35
2004.09.19
Как убрать каретку (Caret) в Мемо





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский