ทริกเกอร์กับกระบวนงานที่เก็บไว้
ในฐานข้อมูล ทริกเกอร์คือโพรซีเดอร์ (เซ็กเมนต์โค้ด) ที่ดำเนินการโดยอัตโนมัติเมื่อเหตุการณ์บางอย่างเกิดขึ้นในตาราง/มุมมอง ในบรรดาการใช้งานอื่นๆ ทริกเกอร์ส่วนใหญ่จะใช้เพื่อรักษาความสมบูรณ์ในฐานข้อมูล กระบวนงานที่เก็บไว้เป็นวิธีที่สามารถใช้ได้โดยแอปพลิเคชันที่เข้าถึงฐานข้อมูลเชิงสัมพันธ์ โดยทั่วไป กระบวนงานที่เก็บไว้จะใช้เป็นวิธีตรวจสอบข้อมูลและควบคุมการเข้าถึงฐานข้อมูล
ทริกเกอร์คืออะไร
ทริกเกอร์คือโพรซีเดอร์ (เซ็กเมนต์โค้ด) ที่ดำเนินการโดยอัตโนมัติเมื่อเหตุการณ์บางอย่างเกิดขึ้นในตาราง/มุมมองของฐานข้อมูลในบรรดาการใช้งานอื่นๆ ทริกเกอร์ส่วนใหญ่จะใช้เพื่อรักษาความสมบูรณ์ในฐานข้อมูล ทริกเกอร์ยังใช้เพื่อบังคับใช้กฎธุรกิจ ตรวจสอบการเปลี่ยนแปลงในฐานข้อมูล และจำลองข้อมูล ทริกเกอร์ที่พบบ่อยที่สุดคือทริกเกอร์ Data Manipulation Language (DML) ที่ทริกเกอร์เมื่อมีการจัดการข้อมูล ระบบฐานข้อมูลบางระบบรองรับทริกเกอร์ที่ไม่ใช่ข้อมูล ซึ่งจะทริกเกอร์เมื่อเหตุการณ์ Data Definition Language (DDL) เกิดขึ้น ตัวอย่างบางส่วนคือทริกเกอร์ที่เริ่มทำงานเมื่อมีการสร้างตาราง ระหว่างการดำเนินการคอมมิตหรือการย้อนกลับ ฯลฯ ทริกเกอร์เหล่านี้สามารถใช้สำหรับการตรวจสอบโดยเฉพาะ ระบบฐานข้อมูล Oracle รองรับทริกเกอร์ระดับสคีมา (เช่น ทริกเกอร์เริ่มทำงานเมื่อมีการแก้ไขสคีมาฐานข้อมูล) เช่น After Creation, Before Alter, After Alter, Before Drop, After Drop เป็นต้น ทริกเกอร์หลักสี่ประเภทที่ Oracle รองรับคือทริกเกอร์ระดับแถว ทริกเกอร์ระดับคอลัมน์ ทริกเกอร์แต่ละประเภทแถว และทริกเกอร์สำหรับแต่ละประเภทคำสั่ง
ขั้นตอนการจัดเก็บคืออะไร
A กระบวนงานที่เก็บไว้เป็นวิธีการที่แอปพลิเคชันสามารถใช้ในการเข้าถึงฐานข้อมูลเชิงสัมพันธ์ โดยทั่วไป กระบวนงานที่เก็บไว้จะใช้เป็นวิธีในการตรวจสอบข้อมูลและควบคุมการเข้าถึงฐานข้อมูล หากการประมวลผลข้อมูลบางอย่างต้องใช้คำสั่ง SQL หลายคำสั่ง การดำเนินการดังกล่าวจะถูกนำไปใช้เป็นกระบวนงานที่เก็บไว้ เมื่อเรียกใช้กระบวนงานที่เก็บไว้ จะต้องใช้คำสั่ง CALL หรือ EXECUTE กระบวนงานที่เก็บไว้สามารถส่งคืนผลลัพธ์ได้ (เช่น ผลลัพธ์จากคำสั่ง SELECT) ผลลัพธ์เหล่านี้สามารถใช้โดยขั้นตอนการจัดเก็บอื่นหรือโดยแอปพลิเคชัน ภาษาที่ใช้ในการเขียนโพรซีเดอร์ที่เก็บไว้มักจะสนับสนุนโครงสร้างการควบคุม เช่น if, while, for ฯลฯ ขึ้นอยู่กับระบบฐานข้อมูลที่ใช้ ภาษาหลายภาษาสามารถใช้เพื่อนำกระบวนงานที่เก็บไว้ไปใช้ (เช่น PL/SQL และ java ใน Oracle, T- SQL (Transact-SQL) และ. NET Framework ใน Microsoft SQL Server) นอกจากนี้ MySQL ยังใช้ขั้นตอนการจัดเก็บของตัวเอง
ทริกเกอร์และขั้นตอนการจัดเก็บต่างกันอย่างไร
ทริกเกอร์คือโพรซีเดอร์ (เซ็กเมนต์โค้ด) ที่ดำเนินการโดยอัตโนมัติเมื่อเหตุการณ์เฉพาะบางอย่างเกิดขึ้นในตาราง/มุมมองของฐานข้อมูล ในขณะที่โพรซีเดอร์ที่เก็บไว้คือวิธีการที่แอปพลิเคชันเข้าถึงฐานข้อมูลเชิงสัมพันธ์สามารถใช้ได้. ทริกเกอร์จะดำเนินการโดยอัตโนมัติเมื่อเหตุการณ์ที่ทริกเกอร์ควรจะตอบสนองต่อเกิดขึ้น แต่ในการรันโพรซีเดอร์ที่เก็บไว้ จำเป็นต้องใช้คำสั่ง CALL หรือ EXECUTE เฉพาะ ทริกเกอร์การดีบักอาจทำได้ยากและยุ่งยากกว่าการดีบักโพรซีเดอร์ที่เก็บไว้ ทริกเกอร์มีประโยชน์มากเมื่อคุณต้องการให้แน่ใจว่ามีบางอย่างเกิดขึ้นเมื่อมีเหตุการณ์บางอย่างเกิดขึ้น