Verileri CHECKINOUT
tablosuna ekledikten sonra verileri başka bir tabloya eklemek için bu tetiği yazdım.SQL Server: Başka bir Tablo Güncelleştirmesi için Trigger Ekledikten Sonra
Ancak, Att_process
tablosuna veri eklemiyor. SQL Server'da hiçbir hata görünmüyor. Bu problemi çözmeme yardım edebilir misin?
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[trgAfterInsert] ON [dbo].[CHECKINOUT]
AFTER INSERT
AS
DECLARE @uid INT;
DECLARE @checkin DATETIME;
SELECT @uid = i.USERID
FROM [CHECKINOUT] i;
SELECT @checkin = i.CHECKTIME
FROM [CHECKINOUT] i;
IF(DATEPART(HOUR, @checkin) < 12)
BEGIN
INSERT INTO Att_process (USERID, checkin_time)
VALUES (@uid, @checkin);
END;
ELSE
BEGIN
INSERT INTO Att_process (USERID, checkout_time)
VALUES (@uid, @checkin);
END;
'SELECT @uid = i.USERID Eklenen i; SELECT @checkin = i.CHECKTIME Eklenen i; – artm
@artm: bu, gitmenin yolu değil! ** 'Eklenen' ***, birden çok satır içerecek - bunlardan hangisi burayı mı seçiyorsun ?? Tetikleyiciyi, 'Eklenenler' içinde ** doğru sırayla ** işlemek için yazmanız gerekiyor! –
@marc_s - ha ha iyi dedi! Bu kötü bir düzeltme oldu –