Northwind Database (Document! X Sample)
AdventureWorks Database / Production Schema / Production.WorkOrder Table / iWorkOrder Trigger
In This Topic
    iWorkOrder Trigger
    In This Topic
    Description
    AFTER INSERT trigger that inserts a row in the TransactionHistory table.
    Properties
    Creation Date27/10/2017 14:33
    Encrypted
    Ansi Nulls
    Trigger Type
    Insert Delete Update After Instead Of
    Trigger Definition
    CREATE TRIGGER [Production].[iWorkOrder] ON [Production].[WorkOrder] 
    AFTER INSERT AS 
    
    BEGIN
        DECLARE @Count int;
    
        SET @Count = @@ROWCOUNT;
        IF @Count = 0 
            RETURN;
    
        SET NOCOUNT ON;
    
        BEGIN TRY
            INSERT INTO [Production].[TransactionHistory](
                [ProductID]
                ,[ReferenceOrderID]
                ,[TransactionType]
                ,[TransactionDate]
                ,[Quantity]
                ,[ActualCost])
            SELECT 
                inserted.[ProductID]
                ,inserted.[WorkOrderID]
                ,'W'
                ,GETDATE()
                ,inserted.[OrderQty]
                ,0
            FROM inserted;
        END TRY
        BEGIN CATCH
            EXECUTE [dbo].[uspPrintError];
    
            -- Rollback any active or uncommittable transactions before
            -- inserting information in the ErrorLog
            IF @@TRANCOUNT > 0
            BEGIN
                ROLLBACK TRANSACTION;
            END
    
            EXECUTE [dbo].[uspLogError];
        END CATCH;
    END;
    
    See Also