logo icon
ธนินัชดอทคอม - รับสร้าง Website, Mobile Application
image

บทความ

ธนินัช ดอทคอม - ผู้เชี่ยวชาญทำเว็บไซต์

Trigger ใน SQL Server คืออะไร

Trigger ใน SQL Server เป็นโค้ดที่ถูกเรียกใช้งานโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงข้อมูลใน Table ที่ Trigger ถูกเชื่อมโยงไปยังนั้น โดย Trigger สามารถใช้งานได้ในหลายสถานการณ์ เช่น การเพิ่มข้อมูลใน Table, การอัปเดตข้อมูลใน Table หรือ การลบข้อมูลออกจาก Table ซึ่งสามารถทำได้ง่ายๆ ด้วยการเขียน Trigger Code ภาษา T-SQL ใน SQL Server

ตัวอย่างการเขียน Trigger ใน SQL Server ด้วยภาษา T-SQL ได้แก่

  1. Trigger สำหรับการ Insert ข้อมูลใน Table

CREATE TRIGGER [dbo].[InsertTrigger]
ON [dbo].[Customers]
AFTER INSERT
AS
BEGIN    
  SET NOCOUNT ON;    
  DECLARE @CustomerID INT    
  SELECT @CustomerID = inserted.CustomerID     FROM inserted    

  INSERT INTO CustomerLog (CustomerID, LogMessage, LogDate)    
  VALUES (@CustomerID, 'New customer added', GETDATE())
END

ในตัวอย่างด้านบน เราสร้าง Trigger ชื่อ InsertTrigger ใน Table Customers โดย Trigger นี้จะถูกเรียกใช้งานเมื่อมีการ Insert ข้อมูลใน Table Customers โดย Trigger จะทำการเพิ่มข้อมูลลงใน Table CustomerLog เพื่อบันทึก Log ว่ามีการเพิ่มข้อมูลลงใน Table Customers

  1. Trigger สำหรับการ Update ข้อมูลใน Table

 
CREATE TRIGGER [dbo].[UpdateTrigger]
ON [dbo].[Customers]
AFTER UPDATE
AS
BEGIN    
  SET NOCOUNT ON;    
  DECLARE @CustomerID INT    
  SELECT @CustomerID = inserted.CustomerID FROM inserted    

  INSERT INTO CustomerLog (CustomerID,  LogMessage, LogDate)    VALUES (@CustomerID, 'Customer information updated', GETDATE())

END
 

 

 

ในตัวอย่างด้านบน เราสร้าง Trigger ชื่อ UpdateTrigger ใน Table Customers โดย Trigger นี้จะถูกเรียกใช้งานเมื่อมีการ Update ข้อมูลใน Table Customers โดย Trigger จะทำการเพิ่มข้อมูลลงใน Table CustomerLog เพื่อบันทึก Log ว่ามีการอัปเดตข้อมูลใน Table Customers

  1. Trigger สำหรับการ Delete ข้อมูลใน Table

CREATE TRIGGER [dbo].[DeleteTrigger]
ON [dbo].[Customers]AFTER DELETE
AS
BEGIN    
  SET NOCOUNT ON;    

  DECLARE @CustomerID INT    
  SELECT @CustomerID = deleted.CustomerID FROM deleted    

  INSERT INTO CustomerLog (CustomerID, LogMessage, LogDate)   
VALUES (@CustomerID, 'Customer deleted', GETDATE())
END

ในตัวอย่างด้านบน เราสร้าง Trigger ชื่อ DeleteTrigger ใน Table Customers โดย Trigger นี้จะถูกเรียกใช้งานเมื่อมีการ Delete ข้อมูลใน Table Customers โดย Trigger จะทำการเพิ่มข้อมูลลงใน Table CustomerLog เพื่อบันทึก Log ว่ามีการลบข้อมูลใน Table Customers

โดยสามารถเขียน Trigger ได้ตามความต้องการของแต่

หนังสือพัฒนาตัวเอง

จุดเริ่มต้นที่ชัดเจน

เว็บไซต์หรือแอปพลิเคชั่นของคุณเริ่มต้นที่นี่

ลงทะเบียนแล้วเราจะส่งข้อเสนอที่ดีที่สุดให้กับคุณ