USE [PERS2] GO /****** Object: Trigger [dbo].[KRM_Mesal_Ins] Script Date: 06/23/2014 17:12:07 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE TRIGGER [dbo].[KRM_Mesal_Ins] ON [dbo].[KRM] AFTER INSERT --NOT FOR REPLICATION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @MesalDatumTijd DATETIME, @my_lotnr CHAR(40), @my_machine SMALLINT, @my_hoogte FLOAT, @my_gewicht FLOAT, @my_soortgew FLOAT, @my_temp FLOAT, @my_gew_hoogte INT, @my_hoogte_afk INT, @my_gew_soortgew FLOAT, @myROWCOUNT INT; -- 12-09-2012 EW -- sg afkPlus/afkMin ivm asymetrische afkeur grenzen DECLARE @my_soortgew_afk_P FLOAT, @my_soortgew_afk_M FLOAT, @my_gew_temp INT, @my_temp_afk INT, @my_lotnr_found INT; -- 15-06-2010 EW -- tag toegevoegd waarin de reden van afkeur gelogd wordt DECLARE @my_AfkeurOorzaak SMALLINT -------------------------15-06-2010----------------------------- -- 27-05-2011 EW -- Vanuit MPV wordt bepaald door welke system(en) een anode gemaakt is en in de KRM tabel gelogd -- DECLARE @my_sectime INT Declare @My_LotNummer char(40), @My_Systeem Int, @My_R1 SmallInt, @My_R2 SmallInt, @My_R3 SmallInt; -------------------------27-05-2011----------------------------- SET @my_lotnr_found = 0; SELECT @MesalDatumTijd = inserted.[Datum_Tijd], -- 4-4-2011 alleen 8 characters in lotnummer, voorloop "1" wordt er af gehaald @my_lotnr = substring(inserted.[LotNr],2,8), @My_LotNummer = inserted.[LotNr], @my_machine = inserted.[MachineNr], @my_hoogte = inserted.[Hoogte], @my_soortgew = inserted.[SGewicht], @my_temp = inserted.[Temp], @my_gew_hoogte = [flmassa].dbo.MPV.HOOGTE, @my_hoogte_afk = [flmassa].dbo.MPV.HOOGTE_AFK, @my_gew_soortgew = [flmassa].dbo.MPV.SG, -- 12-09-2012 EW -- sg afkPlus/afkMin ivm asymetrische afkeur grenzen @my_soortgew_afk_P = [flmassa].dbo.MPV.SG_REG, @my_soortgew_afk_M = [flmassa].dbo.MPV.SG_AFK, @my_gew_temp = [flmassa].dbo.MPV.TEMP, @my_temp_afk = [flmassa].dbo.MPV.TEMP_AFK -- 15-06-2010 EW -- tag toegevoegd waarin de reden van afkeur gelogd wordt -- @my_AfkeurOorzaak = inserted.[AfkOorzaak] -------------------------15-06-2010----------------------------- FROM inserted INNER JOIN [flmassa].dbo.MPV ON inserted.LotNr = [flmassa].dbo.MPV.LOTNR; -- save @@ROWCOUNT variable SET @myROWCOUNT = @@ROWCOUNT; -- er dient minimaal 1 record aanwezig te zijn IF @myROWCOUNT < 0 RAISERROR ('KRM_Mesal_Ins %s', 16, 1, 'SQL-SERVER-1'); IF (@myROWCOUNT > 0) AND (@MesalDatumTijd > 0) SET @my_lotnr_found = 1; -- Haal gewicht op waarvan MPV lotnummer onbekend is SELECT @MesalDatumTijd = inserted.[Datum_Tijd], @my_machine = ISNULL(inserted.[MachineNr],0), @my_gewicht = (ISNULL(inserted.[Gewicht],0) / 1000.0) FROM inserted -- er dient minimaal 1 record aanwezig te zijn IF @@ROWCOUNT < 0 RAISERROR ('KRM_Mesal_Ins %s', 16, 1, 'SQL-SERVER-1'); -- Gef @my_AfkeurOorzaak een waarde 0, kolom komt niet voor in KRM tabel SET @my_AfkeurOorzaak = 0 -------------------------27-05-2011----------------------------- -- Insert statements for trigger here EXEC flmassa.dbo.msp_MesalAnode @MesalDatumTijd, @my_lotnr, @my_machine, @my_hoogte, @my_gewicht, @my_soortgew, @my_temp, @my_gew_hoogte, -- 12-09-2012 EW -- sg afkPlus/afkMin ivm asymetrische afkeur grenzen @my_hoogte_afk, @my_gew_soortgew, @my_soortgew_afk_P, @my_soortgew_afk_M, @my_gew_temp, @my_temp_afk, @my_lotnr_found, -- 15-06-2010 EW -- tag toegevoegd waarin de reden van afkeur gelogd wordt @my_AfkeurOorzaak -------------------------15-06-2010----------------------------- END