none
Error en Trigger en Sql server V 2014 RRS feed

  • Pregunta

  • tengo un Trigger que estoy probando para actualizar el valor de la columna CurrentFlag de la Base de datos AdventureWorksDW2014

    El Trigger debe permitir la consulta update si el valor de CurrentFlag es 0 o 1, Es decir que si en Sql Server yo Hago esto:

    UPDATE DIMEMPLOYEES SET CURRENTFLAG=0 WHERE EMPLOYEEKEY=1 

    o Esto Otro

     UPDATE DIMEMPLOYEES SET CURRENTFLAG=1 WHERE EMPLOYEEKEY=1

    entonces si se cumplen ambas condiciones debe salir un mensaje en consola que diga algo como esto: PRINT 'VALOR ACTUALIZADO', Por ende sino se cumplen esas condiciones debe salir igual un mensaje como esto :

    PRINT ' ERROR VALOR NO SE PUDO ACTUALIZAR, NO ESTA DENTRO DE LOS PARAMETROS PERMITIDOS'

    Tengo este Trigger que hace algo similar pero no he podido tratar de adecuarlo. este el codigo:

    CREATE TRIGGER NOUPDATE ON DIMEMPLOYEE
    FOR UPDATE
    AS
    
    IF UPDATE(CURRENTFLAG ) 
    
        BEGIN
           UPDATE  DimEmployee SET CurrentFlag = H. CURRENTFLAG
           FROM DimEmployee J INNER JOIN inserted H
           ON  J.CurrentFlag = H.CurrentFlag
           WHERE H.CurrentFlag <=1
           RAISERROR('VALOR MODIFICADO.', 10, 1)
        END
    
        BEGIN
          UPDATE  DimEmployee SET CurrentFlag = H. CURRENTFLAG
           FROM DimEmployee J INNER JOIN inserted H
           ON  J.CurrentFlag = H.CurrentFlag
           WHERE H.CurrentFlag >1
           RAISERROR('NO SE PUEDE MODIFICICAR EL VALOR .', 10, 1)
        END          
    Go

    • Editado rikardoroa domingo, 4 de agosto de 2019 1:56
    domingo, 4 de agosto de 2019 1:55

Respuestas