Trigger MSSQL Tutorial

2>
3> CREATE TABLE Products (
4>      ProductID int IDENTITY (1, 1) NOT NULL ,
5>      ProductName nvarchar (40) NOT NULL ,
6>      SupplierID int NULL ,
7>      CategoryID int NULL ,
8>      QuantityPerUnit nvarchar (20) NULL ,
9>      UnitPrice money NULL,
10>     UnitsInStock smallint NULL,
11>     UnitsOnOrder smallint NULL,
12>     ReorderLevel smallint NULL,
13>     Discontinued bit NOT NULL
14> )
15> GO
1>    CREATE TRIGGER ProductIsRationed
2>       ON Products
3>       FOR UPDATE
4>    AS
5>       IF EXISTS
6>          (
7>           SELECT 'True'
8>           FROM Inserted i
9>           JOIN Deleted d
10>              ON i.ProductID = d.ProductID
11>           WHERE (d.UnitsInStock - i.UnitsInStock) > d.UnitsInStock / 2
12>              AND d.UnitsInStock - i.UnitsInStock > 0
13>          )
14>       BEGIN
15>          RAISERROR('Cannot reduce stock by more than 50%% at once.',16,1)
16>          ROLLBACK TRAN
17>       END
18>       GO
1>
2> drop TRIGGER ProductIsRationed;
3> GO
1>
2> drop table Products;
3> GO
1>