DELIMITER // สามารถใช้เพื่อเปลี่ยนคำสั่งจากเซมิโคลอน (;) เป็น // ตอนนี้คุณสามารถเขียนหลายคำสั่งด้วยเครื่องหมายอัฒภาคในทริกเกอร์
นี่คือตัวอย่างทริกเกอร์ ในตัวอย่างนี้เมื่อใดก็ตามที่คุณป้อน EmployeeSalary น้อยกว่า 1,000 ค่า default จะตั้งไว้ที่ 10,000
ขั้นแรก ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ -
mysql> สร้างตาราง EmployeeTable-> (-> EmployeeId int,-> EmployeeName varchar(100),-> EmployeeSalary float-> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.76 วินาที)
หลังจากสร้างตารางแล้ว คุณต้องสร้างทริกเกอร์บนคำสั่ง insert แบบสอบถามเพื่อสร้างทริกเกอร์มีดังนี้
mysql> ตัวคั่น //mysql> สร้างทริกเกอร์ CheckSalary ก่อนแทรก EmployeeTable-> สำหรับแต่ละแถวถ้า new.EmployeeSalary <1000 แล้ว set-> new.EmployeeSalary=10000;-> end if;-> //Query OK, 0 แถวได้รับผลกระทบ (0.40 วินาที)mysql> ตัวคั่น;
ตอนนี้คุณสามารถตรวจสอบทริกเกอร์ได้โดยใช้คำสั่งแทรก หากคุณใส่เงินเดือนพนักงานน้อยกว่า 1,000 จะไม่มีข้อผิดพลาดใดๆ แต่จะเก็บค่าเริ่มต้นที่ฉันได้ให้ไว้ 10,000
แบบสอบถามที่จะแทรกบันทึกมีดังนี้ -
mysql> แทรกลงในค่า EmployeeTable (1,'Carol',500) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.25 วินาที)
ตอนนี้ตรวจสอบระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้
mysql> เลือก *จาก EmployeeTable;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+--------------+----------------+| รหัสพนักงาน | ชื่อพนักงาน | เงินเดือนพนักงาน |+------------+--------------+----------------+| 1 | แครอล | 10000 |+-----------+---------------------+----------------+1 แถว ในชุด (0.00 วินาที)หากคุณใส่ 1,000 หรือมากกว่า 1,000 มันจะแสดงเฉพาะตัวเลขของคุณเท่านั้น ฉันลบบันทึกก่อนหน้าออกจากตารางโดยใช้คำสั่งตัดทอน
mysql> ตัดทอนตาราง EmployeeTable; Query OK, 0 แถวได้รับผลกระทบ (1.44 วินาที)
แบบสอบถามเพื่อแทรกระเบียนในตาราง
mysql> แทรกลงในค่า EmployeeTable (2,'Bob',1000); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า EmployeeTable (3,'Carol',2500); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.19 วินาที)
นี่คือแบบสอบถามเพื่อตรวจสอบระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select
mysql> เลือก *จาก EmployeeTable;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+-----------+--------------+----------------+| รหัสพนักงาน | ชื่อพนักงาน | เงินเดือนพนักงาน |+------------+--------------+----------------+| 2 | บ๊อบ | 1000 || 3 | แครอล | 2500 |+-----------+--------------+----------------+2 แถว ในชุด (0.00 วินาที)ดูตัวอย่างผลลัพธ์ด้านบน เงินเดือนพนักงาน มากกว่าหรือเท่ากับ 1,000 สิ่งนี้จะให้เงินเดือนของคุณ โปรดจำไว้ว่า หากน้อยกว่า 1,000 ค่าเริ่มต้นจะถูกตั้งไว้ที่ 10,000