แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่างทริกเกอร์และขั้นตอน

ทริกเกอร์และขั้นตอนเป็นส่วนประกอบของ SQL ขั้นสูง ทั้งทริกเกอร์และขั้นตอนดำเนินการตามที่ระบุในการดำเนินการ ความแตกต่างพื้นฐานระหว่างทริกเกอร์และขั้นตอนคือ ทริกเกอร์ ดำเนินการโดยอัตโนมัติเมื่อเกิดเหตุการณ์ในขณะที่ ขั้นตอน จะถูกดำเนินการเมื่อมีการเรียกอย่างชัดเจน

ให้เราคุยความแตกต่างเพิ่มเติมระหว่างทริกเกอร์และขั้นตอนด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบที่แสดงด้านล่าง

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบทริกเกอร์ขั้นตอนการ
ขั้นพื้นฐานพวกเขาจะดำเนินการโดยอัตโนมัติเมื่อเกิดเหตุการณ์ที่ระบุสามารถดำเนินการได้ทุกเมื่อที่ต้องการ
การเรียกร้องไม่สามารถเรียกทริกเกอร์ภายในโพรซีเดอร์ได้แต่คุณสามารถเรียกขั้นตอนภายในทริกเกอร์ได้
พารามิเตอร์เราไม่สามารถส่งพารามิเตอร์ไปยังทริกเกอร์เราสามารถส่งพารามิเตอร์ไปยังกระบวนการ
กลับทริกเกอร์จะไม่ส่งคืนค่าในการดำเนินการขั้นตอนอาจส่งคืนค่า / s เมื่อดำเนินการ

คำจำกัดความของ Trigger

ทริกเกอร์เป็นเหมือนขั้นตอนที่ได้รับการดำเนินการโดยอัตโนมัติเมื่อเกิดเหตุการณ์ที่ระบุ เช่นเดียวกับขั้นตอนทริกเกอร์ไม่จำเป็นต้องถูกเรียกอย่างชัดเจน ทริกเกอร์ถูกสร้างขึ้นเพื่อทำงานบางอย่างเพื่อตอบสนองต่อเหตุการณ์ที่ระบุบางอย่าง

ทริกเกอร์สามารถเรียกใช้ในการตอบสนองต่อคำสั่ง DDL (DELETE, INSERT หรือ UPDATE) หรือคำสั่ง DML (DELETE, INSERT หรือ UPDATE) หรือการดำเนินงานฐานข้อมูลบางส่วน (SERVERERROR, LOGON, LOGOFF, STARTUP หรือ SHUTDOWN)

ทริกเกอร์ประกอบด้วยสามองค์ประกอบดังที่อธิบายไว้ด้านล่าง:

  • กิจกรรม : เหตุการณ์คือเหตุการณ์ที่เกิดขึ้นซึ่งจะทำให้เกิดการเรียกใช้งาน ทริกเกอร์สามารถสั่งให้เรียกใช้งานได้ทั้ง ก่อน เกิดเหตุการณ์หรืออาจถูกสั่งให้สั่งดำเนินการ หลังจาก ดำเนินการเหตุการณ์
  • เงื่อนไข : มันเป็นส่วนเสริมของทริกเกอร์ หากไม่ได้กล่าวถึงทริกเกอร์จะดำเนินการเมื่อมีเหตุการณ์ที่ระบุเกิดขึ้น หากมีการระบุเงื่อนไขระบบจะตรวจสอบกฎเพื่อกำหนดว่าควรจะเรียกใช้หรือไม่
  • การดำเนินการ : การดำเนินการเป็นชุดคำสั่ง SQL ที่จะดำเนินการกับการดำเนินการของทริกเกอร์

รูปแบบทั่วไปของการสร้างกิจกรรมได้อธิบายไว้ด้านล่าง:

 สร้างทริกเกอร์ก่อน / หลังการกระทำตามเงื่อนไข; 

ที่นี่สภาพเป็นตัวเลือก

ความหมายของขั้นตอน

ขั้นตอนสามารถใช้เป็นหน่วยโปรแกรมสร้างขึ้นเพื่อทำงานบางอย่างและจัดเก็บไว้ในฐานข้อมูล คำสั่ง SQL เหล่านั้นถูกเรียกใช้เมื่อต้องการ ขั้นตอนเหมือนฟังก์ชั่นที่ผู้ใช้กำหนดซึ่งผู้พัฒนากำหนดไว้ ขั้นตอนสามารถเรียกใช้โดยใช้ CALL หรือ EXECUTE

ขั้นตอนมีประโยชน์ในสถานการณ์ต่อไปนี้:

  • หากแอปพลิเคชั่นอื่นจำเป็นต้องใช้ขั้นตอนหลายอย่างก็สามารถจัดเก็บไว้บนเซิร์ฟเวอร์เพื่อให้สามารถเรียกใช้แอปพลิเคชันใด ๆ ได้ มันจะลดความพยายามในการทำซ้ำขั้นตอนจากฐานข้อมูลหนึ่งไปยังอีกฐานข้อมูลหนึ่งและยังช่วยปรับปรุงโมดุลของซอฟต์แวร์
  • เนื่องจากโพรซีเดอร์กำลังดำเนินการบนเซิร์ฟเวอร์มันจะลดการถ่ายโอนข้อมูลและลดต้นทุนการสื่อสาร
  • ขั้นตอนสามารถนำมาใช้เพื่อตรวจสอบข้อ จำกัด ที่ซับซ้อนที่อยู่นอกเหนืออำนาจของทริกเกอร์

ให้เราคุยเกี่ยวกับรูปแบบทั่วไปของการสร้างขั้นตอน:

 สร้างกระบวนงาน () ผลตอบแทน; 

ที่นี่พารามิเตอร์และการประกาศโลคัลเป็นทางเลือก พวกเขาจะกล่าวถึงก็ต่อเมื่อจำเป็นต้องใช้ คำสั่งด้านล่างอธิบายการโทรของขั้นตอน

 โทร () ; 

ความแตกต่างที่สำคัญระหว่างทริกเกอร์และขั้นตอน

  1. ความแตกต่างหลักระหว่างทริกเกอร์และโพรซีเดอร์คือทริกเกอร์คือคำสั่งที่ถูกเรียกใช้โดยอัตโนมัติเมื่อมีเหตุการณ์เกิดขึ้น ในทางกลับกันขั้นตอนจะถูกเรียกเมื่อใดก็ตามที่จำเป็น
  2. หนึ่งสามารถกำหนดขั้นตอนภายในทริกเกอร์ แต่จะไม่มีการกำหนดทริกเกอร์ภายในโพรซีเดอร์เนื่องจากทริกเกอร์จะต้องเรียกใช้โดยอัตโนมัติเมื่อเกิดเหตุการณ์ใด ๆ
  3. เราสามารถส่งพารามิเตอร์ไปยังโพรซีเดอร์ได้ แต่เราไม่สามารถส่งพารามิเตอร์เพื่อทริกเกอร์เนื่องจากเราไม่ได้เรียกใช้
  4. โพรซีเดอร์สามารถส่งคืนค่าพารามิเตอร์หรือโค้ด แต่ทริกเกอร์ไม่สามารถทำได้

สรุป:

ทริกเกอร์มีประโยชน์ แต่จะหลีกเลี่ยงหากมีทางเลือกอื่นเนื่องจากมันจะเพิ่มความซับซ้อนของข้อมูล บางครั้งทริกเกอร์ก็ถูกแทนที่ด้วยขั้นตอนที่เหมาะสม

Top