ALTER TRIGGER [dbo].[MyTrigger] ON [dbo].[MyTable] AFTER INSERT,UPDATE
AS
BEGIN
DECLARE @AFSPRAAKTYPE TINYINT
DECLARE @ADRESID INT
DECLARE @VOLGNR INT
DECLARE @PLANDATUM datetime
DECLARE @BEGINTIJD varchar(50)
DECLARE @STARTDATUM varchar(50)
DECLARE @EINDDATUM varchar(50)
DECLARE @EINDTIJD varchar(50)
SELECT @ADRESID = adresid, @VOLGNR = volgnr, @AFSPRAAKTYPE = [type],
@PLANDATUM = plandatum, @BEGINTIJD = begintijd, @EINDTIJD = eindtijd FROM inserted
IF @AFSPRAAKTYPE in (1, 2 ,4)
BEGIN
IF @PLANDATUM > convert(datetime,'28-03-2010',105) AND @PLANDATUM < convert(datetime,'01-11-2010',105)
BEGIN
IF rtrim(@BEGINTIJD) = ''
SET @STARTDATUM = convert(char(10),@PLANDATUM ,120) + 'T07:00:00.000Z'
ELSE
SET @STARTDATUM = convert(char(10),@PLANDATUM ,120) + 'T' + RIGHT(100 + LEFT(@BEGINTIJD, 2) - 2, 2) + ':' + right(@BEGINTIJD,2) + ':00.000Z'
END
ELSE
BEGIN
IF rtrim(@BEGINTIJD) = ''
SET @STARTDATUM = convert(char(10),@PLANDATUM ,120) + 'T08:00:00.000Z'
ELSE
SET @STARTDATUM = convert(char(10),@PLANDATUM ,120) + 'T' + RIGHT(100 + LEFT(@BEGINTIJD, 2) - 1, 2) + ':' + right(@BEGINTIJD,2) + ':00.000Z'
END
IF @PLANDATUM > convert(datetime,'28-03-2010',105) AND @PLANDATUM < convert(datetime,'01-11-2010',105)
BEGIN
IF (rtrim(@BEGINTIJD) = '')
SET @EINDDATUM= convert(char(10),@PLANDATUM,120) + 'T07:00:00.000Z'
ELSE
BEGIN
IF (rtrim(@EINDTIJD) = '')
SET @EINDDATUM = convert(char(10),@PLANDATUM,120) + 'T' + RIGHT(100 + LEFT(@BEGINTIJD, 2) - 2, 2) + ':' + right(@BEGINTIJD,2) + ':00.000Z'
ELSE
SET @EINDDATUM= convert(char(10),@PLANDATUM,120) + 'T' + RIGHT(100 + LEFT(@EINDTIJD, 2) - 2, 2) + ':' + right(@EINDTIJD,2) + ':00.000Z'
END
END
ELSE
BEGIN
IF (rtrim(@BEGINTIJD) = '')
SET @EINDDATUM= convert(char(10),@PLANDATUM,120) + 'T08:00:00.000Z'
ELSE
BEGIN
IF (rtrim(@EINDTIJD) = '')
SET @EINDDATUM = convert(char(10),@PLANDATUM,120) + 'T' + RIGHT(100 + LEFT(@BEGINTIJD, 2) - 1, 2) + ':' + right(@BEGINTIJD,2) + ':00.000Z'
ELSE
SET @EINDDATUM= convert(char(10),@PLANDATUM,120) + 'T' + RIGHT(100 + LEFT(@EINDTIJD, 2) - 1, 2) + ':' + right(@EINDTIJD,2) + ':00.000Z'
END
END
INSERT INTO MyTable2 (activiteitid,begintijd,eindtijd)
SELECT a.recnum,@STARTDATUM,@EINDDATUM
FROM MyTable A
WHERE A.adresid = @ADRESID AND A.volgnr = @VOLGNR
END
END