USE [datataker] GO /****** Object: Trigger [dbo].[Tr_BlokData_Ins] Script Date: 04/14/2014 17:10:18 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: M. Jordaan -- Create date: 14 april 2014 -- Description: Log blokinfo record naar SQL-server-1 en 2 -- ============================================= CREATE TRIGGER [dbo].[Tr_BlokData_Ins] ON [dbo].[BlokData] FOR INSERT AS BEGIN -- Indien geen records, voer dan ook geen updates uit IF @@ROWCOUNT < 1 RETURN; -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- variabelen voor waarden welke net gelogd zijn DECLARE @pers int; DECLARE @datum_tijd datetime; DECLARE @hoogte float; DECLARE @gewicht float; DECLARE @temp float; DECLARE @anodeteller float; --DECLARE my_Cursor CURSOR FAST_FORWARD FOR -- SELECT pers, datum_tijd, ISNULL(hoogte,0), ISNULL(gewicht,0), -- ISNULL(temp,0), ISNULL(anodeteller,0) FROM INSERTED; -- haal actuele waarden op, iedere keer steed 1 record --OPEN my_Cursor; --FETCH NEXT FROM my_Cursor into @pers, @datum_tijd, @hoogte, @gewicht, @temp, @anodeteller; -- handel alle records af --WHILE @@FETCH_STATUS = 0 --BEGIN -- copieer de waarden naar database pers2, tabel [blokinfo], server SQL-server-1 --INSERT INTO [DATATAKER-5\MASSAEXPRESS].[PERS2].[dbo].[blokinfo] INSERT INTO [RLD-HPZ400A].[PERS2].[dbo].[blokinfo] ([pers], [datum_tijd], [hoogte], [gewicht], [temp], [anodeteller]) SELECT [pers], [datum_tijd], [hoogte], [gewicht], [temp], [anodeteller] FROM Inserted; -- Indien er geen records in SQL-server-1 gelogd zijn, sla deze lokaal in tabel blokinfo_1 op IF (@@ROWCOUNT < 1) INSERT INTO [DATATAKER].[dbo].[blokinfo_1] ([pers], [datum_tijd], [hoogte], [gewicht], [temp], [anodeteller]) SELECT [pers], [datum_tijd], [hoogte], [gewicht], [temp], [anodeteller] FROM Inserted -- copieer de waarden naar database pers2, tabel [blokinfo], server SQL-server-2 --INSERT INTO [DATATAKER-5\MASSAEXPRESS].[PERS2].[dbo].[blokinfo] -- ([pers], [datum_tijd], [hoogte], [gewicht], [hoogte], [temp], [anodeteller]) -- SELECT [pers], [datum_tijd], [hoogte], [gewicht], [hoogte], [temp], [anodeteller] -- FROM Inserted; -- Indien er geen records in SQL-server-2 gelogd zijn, sla deze lokaal in tabel blokinfo_2 op --IF (@@ROWCOUNT < 1) --INSERT INTO [DATATAKER].[dbo].[blokinfo_1] -- ([pers], [datum_tijd], [hoogte], [gewicht], [hoogte], [temp], [anodeteller]) -- SELECT [pers], [datum_tijd], [hoogte], [gewicht], [hoogte], [temp], [anodeteller] -- FROM Inserted -- FETCH NEXT FROM my_Cursor into @PROC_NEWNUM1 --END --CLOSE my_Cursor --DEALLOCATE my_Cursor END