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

Вниз

Не могу правильно создать триггер   Найти похожие ветки 

 
jazz   (2003-10-30 17:23) [0]

Создаю триггер для таблицы Табл1 и лог этой таблицы ЛТалб1
тригере обрабатываю событие IF UPDATE(DELIVERED) "DELIVERED поле с типом BIT", при изменени поля DELIVERED с False на True добавлюя в таблицу ЛТабл1 CURRENT_USER и Дату.. все работает при событие Update он заносит юзера и дату в таблицу ЛТабл1 но после этого когда открываю тадблицу Табл1 и хочу в ручную или же запросом поменять свойста DELIVERED любой записи на противоположный (True > False или False > True) Sql Server выдает ошибку (string or binary type truncated) если убираю INSERT из тригера и делаю его DISABLE все меняеться в чем дело?


 
Delirium ©   (2003-10-30 17:25) [1]

Сумбур... приведи полный скрипт триггера


 
jazz   (2003-10-30 17:30) [2]

CREATE TRIGGER [TRIGGER1] ON dbo.tbl_lease
FOR INSERT, UPDATE, DELETE
AS

DECLARE @ID int, @USER varchar(30), @date varchar(10)

SET @USER = CURRENT_USER
SET @DATE = getdate()
SELECT @ID = ID FROM INSERTED

IF UPDATE(DELIVERED)
BEGIN
INSERT INTO LTBL_LEASE
(USERNAME,DATE,ID,WORK)
VALUES (@USER,@Date,@ID,"Сдано в прокат")
END


 
jazz   (2003-10-30 17:36) [3]

точнее в строке SELECT @ID = ID FROM INSERTED
в место INSERTED должно быть DELETED а может я и не прав:)


 
Nikolay M. ©   (2003-10-30 17:39) [4]

И все эти манипуляции должны быть одинаковы в INSERT, UPDATE, DELETE?


 
Delirium ©   (2003-10-30 17:55) [5]

SELECT @ID = ID FROM INSERTED - опасная операция, что будет в @ID если в INSERTED нет ни одной записи или на оборот - больше одной ?


 
Delirium ©   (2003-10-30 18:00) [6]

Я бы написал так

CREATE TRIGGER [TRIGGER1] ON dbo.tbl_lease
FOR INSERT, UPDATE, DELETE
AS
IF UPDATE(DELIVERED)
INSERT LTBL_LEASE (USERNAME,DATE,ID,WORK)
SELECT CURRENT_USER, getdate(), ID, "Сдано в прокат" FROM INSERTED


 
Fay   (2003-10-30 19:10) [7]

SELECT @ID = ID FROM INSERTED - это не опасная, а очень глупая операция



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
1-65963
Zmei
2003-11-10 14:56
2003.11.20
Открытие файла


1-65852
Evgeniy_K
2003-11-09 18:12
2003.11.20
Цветной TBitmap -> Черно-белый TBitmap


11-65812
Alexander
2003-03-04 11:13
2003.11.20
Как мне нарисовать что-нибудь на заголовках столбцов ListView


1-65910
Felixx
2003-11-08 15:21
2003.11.20
Замена стандартному компоненту TStringGrid


1-65886
Дубинин Алексей
2003-11-08 22:48
2003.11.20
Hint как в XP