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

Вниз

Изменение записи в тригере   Найти похожие ветки 

 
MVova   (2002-01-21 12:04) [0]

Всем привет.
Тригер INSERT как изменить запись которая вставляется?
Делаю так

CREATE TRIGGER Tab1_INSERT ON Tab1 FOR INSERT AS BEGIN
DECLARE @DateEdit DateTime
declare cur cursor local for select DateEdit from inserted

open cur
fetch cur into@DateEdit
while @@FETCH_STATUS = 0 BEGIN
SELECT @DateEdit = 1000
fetch cur into @DateEdit
end
close cur
deallocate cur
end

но поле DateEdit равно 0 :-((


 
TSV   (2002-01-21 12:26) [1]


CREATE TRIGGER TAB1_INS ON TAB1 FOR INSERT AS

UPDATE TAB1
SET T.DateEdit = GETDATE()
FROM TAB1 T, INSERTED I
WHERE T.KEY_FIELD = I.KEY_FIELD

Но можно сделать проще: присвоить столбцу DEFAULT GETDATE().

Удачи.


 
MVova   (2002-01-21 12:46) [2]

> TSV Но можно сделать проще: присвоить столбцу DEFAULT GETDATE().

Пробовал значения поля после вставки Null :((
У меня SQL 7.0, SP 3


 
MVova   (2002-01-21 12:48) [3]

> TSV DEFAULT GETDATE().
Сработало, а неработает когда я запись вставлял в EM


 
TSV   (2002-01-21 12:59) [4]

Может у тебя поле допускает вставку null-значений? Если да, то убери это.


 
TSV   (2002-01-21 13:04) [5]

То есть, если триггер, то поле - nullable, если default-значение, то поле - not null.


 
MVova   (2002-01-21 13:18) [6]

А как быть с тригером UPDATE надо вставить даду изменения записи.
Если сделать UPDATE из тригера UPDATE то он не зациклится?


 
Delirium   (2002-01-21 13:27) [7]

Кусок рабочего триггера:

UPDATE r_Names SET dModiDataTime = GETDATE() WHERE id_Name IN (select id_Name FROM Deleted)


 
TSV   (2002-01-21 14:31) [8]

> MVova
А для этого существуют параметры Recursive triggers на уровне БД и nested triggers на уровне сервера.


 
handra   (2002-01-22 10:51) [9]

если надо установить дату изменения, то используй
COLUMNS_UPDATED() - см. хелп



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

Форум: "Базы";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
1-42760
UserL
2002-01-31 07:16
2002.02.14
Как ограничить размер формы?


4-42894
denis_ka
2001-12-17 23:37
2002.02.14
Использование статических DLL из EXE файла


1-42728
Mitrofan
2002-01-29 15:10
2002.02.14
Нужна Delhpi 1, кто-нибудь знает где такой антиквариат раздобыть ?


1-42805
Анатолий
2002-02-01 07:11
2002.02.14
SaveDialog


3-42683
ShaH
2002-01-17 10:08
2002.02.14
нити (threads) и базы данных (MSAccess)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский