none
ERRORE Su TRIGGER CON AGGIORNAMENTO SULLA STESSA TABELLA RRS feed

  • Domanda

  • Salve A tutti,

    Stamattina ho creato un altro trigger su una tabella SQL Server 2008 che, a seguito di una operazione Insert-Update sulla tabella OrdCliTest deve aggiornare altri due campi della stessa tabella, al test ottengo però questo errore :

    Maximum stored procedure, function, trigger, or view nesting level exceeded (limit 32)

    Come mai? Ho già usato Trigger del genere e funzionano benissimo.

    PS: Su questa tabella esistono altri 2 Trigger che aggiornano la stessa tabella

    Ecco il codice :

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    -- =============================================
    -- Author:        Angelo Frasca
    -- Create date: 05/03/2018
    -- Description:    Salviamo i valori su CodGiro e  
    -- Priorità così come inviamo i dati a StockSystem
    --
    -- =============================================
    ALTER TRIGGER  ON [dbo].[OrdCliTest]
    FOR INSERT, UPDATE
    --INSTEAD OF INSERT, UPDATE    
    AS
    BEGIN
        SET NOCOUNT OFF
        
        DECLARE @MsgError            AS VARCHAR(1000)
        
        IF (UPDATE (CodGiro) OR UPDATE (Priorita))
            BEGIN
                RETURN
            END
            
        UPDATE
            OCT
            
        SET
            OCT.CodGiro = [dbo].[fs_Kng_Get_CodGiro] (INS.CodCli, INS.CodDiv)
        
        FROM
            OrdCliTest OCT
                INNER JOIN Inserted INS ON OCT.Id = INS.Id
        
        --WHERE
        --    IsNull(OCT.CodGiro, '') <> [dbo].[fs_Kng_Get_CodGiro] (INS.CodCli, INS.CodDiv) ;
        
        
            
        UPDATE
            OCT
            
        SET
            OCT.Priorita = [dbo].[fs_Kng_Get_Priorita] (INS.CodCli, INS.CodDiv)
        
        FROM
            OrdCliTest OCT
                INNER JOIN Inserted INS ON OCT.Id = INS.Id
        
        --WHERE
        --    IsNull(OCT.Priorita, 0) <> [dbo].[fs_Kng_Get_Priorita] (INS.CodCli, INS.CodDiv) ;    
        
        SET NOCOUNT ON    
    END

    GO

    In attesa di un vostro riscontro grazie.


    • Modificato AngeloNew martedì 6 marzo 2018 09:37
    lunedì 5 marzo 2018 15:58

Risposte

  • Ho provato ad accorpare un altro Trigger sulla stessa tabella con questo che vi ho proposto, sembra funzionare!

    Non ho però spiegazioni.

    Salve

    • Contrassegnato come risposta AngeloNew martedì 6 marzo 2018 10:44
    martedì 6 marzo 2018 10:44