ตัวอย่างนี้จะเก็บข้อมูลจากตารางProducts มาไว้ในตารางProducts_AWX เมื่อข้อมูลUnitsInStockน้อยกว่า 20 (สามารถเปลี่ยนแปลงเงื่อนไขตามต้องการ) แล้วแจ้งเตือนทางLINE
Trigger ตรวจสอบข้อมูลในตาราง Products เมื่อมีการInsert/Updateข้อมูลเข้ามา
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER chkPrd
ON dbo.Products
AFTER INSERT,UPDATE
AS
DECLARE @ProductID as int;
DECLARE @ProductName as nvarchar(50);
DECLARE @UnitsInStock as smallint;
DECLARE @Msg as nvarchar(max);
DECLARE @nProduct as int;
BEGIN
SET NOCOUNT ON;
SET @ProductID =(SELECT ProductID from Inserted)
SET @ProductName =(SELECT ProductName from Inserted)
SET @UnitsInStock =(SELECT UnitsInStock from Inserted)
IF @UnitsInStock < 20
BEGIN
SET @nProduct = (SELECT count([ProductID]) from Products_AWX2 WHERE ProductID = @ProductID)
SET @Msg='Stock Low'
IF @nProduct = 0
BEGIN
INSERT INTO Products_AWX2 (ProductID, ProductName, UnitsInStock, Msg) VALUES (@ProductID,@ProductName,@UnitsInStock,@Msg)
END
ELSE
BEGIN
UPDATE Products_AWX2 SET UnitsInStock = @UnitsInStock, Msg=@Msg WHERE ProductID=@ProductID
END
END
END
GO
จากโค้ดการสร้างTriggerข้างต้น ข้อมูลในตารางProducts_AWX หากมีเลข ProductIDเดิมอยู่แล้วก็จะUpdateข้อมูลจากตารางProductsเข้าไป แต่ถ้ายังไม่มีอยู่ก็จะInsertข้อมูลเข้าไป
การแจ้งเตือนทางLINE ให้ใช้ LINE Alarm Toolkit เพื่อส่งข้อมูลจากตารางProducts_AWXไปยังผู้รับ
ตย. Trigger ถ้ามีหลายเงื่อนไข (< 20 เป็น Lo, >50 เป็น Hi)
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER chkPrd
ON dbo.Products
AFTER INSERT,UPDATE
AS
DECLARE @ProductID as int;
DECLARE @ProductName as nvarchar(50);
DECLARE @UnitsInStock as smallint;
DECLARE @Msg as nvarchar(max);
DECLARE @nProduct as int;
DECLARE @Active as int;
BEGIN
SET NOCOUNT ON;
SET @ProductID =(SELECT ProductID from Inserted)
SET @ProductName =(SELECT ProductName from Inserted)
SET @UnitsInStock =(SELECT UnitsInStock from Inserted)
IF @UnitsInStock < 20 Or @UnitsInStock > 50
BEGIN
SET @Active = 1
END
IF @UnitsInStock < 20
SET @Msg='Stock Low'
ELSE IF @UnitsInStock > 50
SET @Msg='Stock Hi'
SET @nProduct = (SELECT count([ProductID]) from Products_AWX2 WHERE ProductID = @ProductID)
IF @Active = 1
BEGIN
IF @nProduct = 0
BEGIN
INSERT INTO Products_AWX2 (ProductID, ProductName, UnitsInStock, Msg) VALUES (@ProductID,@ProductName,@UnitsInStock,@Msg)
END
ELSE
BEGIN
UPDATE Products_AWX2 SET UnitsInStock = @UnitsInStock, Msg=@Msg WHERE ProductID=@ProductID
END
END
END
GO
ตัวอย่างการเซต LINE Alarm Toolkit ให้ส่งข้อมูลจากตาราง Products_AWX โดยเอาข้อมูลจากคอลัมน์ ProductName และ Msg