ใน SQL Server ในการ insert ,Update and delete ข้อมูลต่างๆที่เกิดขึ้นจะถูกเก็บไว้ใน magic table อยู่ 2 table

คือ inserted,deleted tables

inserted table จะเก็บข้อมูล recordที่ถูกดำเนินการ และจะเก็บข้อมุลหลังจากการ Update เสร็จสิ้น

Deleted table จะเก็บข้อมูล record ที่มีการลบไปล่าสุดและเก็บข้อมุลเก่าก่อนการ Update Record ไว้

ในการเขียน Trigger สำหรับ table ใน SQL Server สำหรับการ Insert,delete จะไม่มีปัญหาอะไรดึงข้อมูล

มาตรวจสอบจาก 2 table นั้นโดยตรง แต่ถ้าเป็นการ Update ก็จะต้องเลือกให้ดีว่าจะเอาข้อมูลอะไร ก่อนหรือหลังการ

Update มาเก็บเป็น log นะครับ

ตัวอย่างครับ

 

CREATE TRIGGER [dbo].[LogTrigger]
ON [dbo].[zzz]
AFTER DELETE,UPDATE
AS
BEGIN
SET NOCOUNT ON;

if exists(select * from inserted)
    begin
              insert into log_OptFac
              select *,GETDATE(),’U’ from deleted
     end
else
     begin
               insert into log_OptFac
               select *,GETDATE(),’D’ from deleted
     end
END

 

Share the Post:

Related Posts

ทำความรู้จักกับ Outlook บนเว็บ

Post Views: 6 Outlook เป็นเครื่องมือจัดการอีเมลและปฏิทินที่ทรงพลัง ซึ่งช่วยให้คุณมีระเบียบและเพิ่มความสามารถในการทำงาน ด้วยอินเทอร์เฟซที่ใช้งานง่าย คุณสามารถจัดการกล่องขาเข้าของคุณ นัดหมาย และทำงานร่วมกับเพื่อนร่วมงานได้อย่างง่ายดาย ฟีเจอร์ที่แข็งแกร่งของ Outlook รวมถึงแม่แบบอีเมลที่ปรับแต่งได้ ความสามารถในการค้นหาขั้นสูง และการผสานรวมที่ไร้รอยต่อกับแอปพลิเคชัน Microsoft Office อื่นๆ ไม่ว่าคุณจะเป็นมืออาชีพที่ยุ่งอยู่หรือเป็นนักเรียนที่ต้องจัดการกับภารกิจหลายอย่าง Outlook

Read More

[บันทึกกันลืม] JupyterHub Authenticated with OIDC

Post Views: 36 ต่อจากตอนที่แล้ว [บันทึกกันลืม] JupyterHub ด้วย Docker คราวนี้ ถ้าต้องการให้ ยืนยันตัวตนด้วย OpenID เช่น PSU Passport เป็นต้น ก็ให้ทำดังนี้ ในไฟล์ jupyterhub_config.py ใส่

Read More