การทำธุรกรรม SQLite
รายการ (Transaction) เป็นหน่วยงานของการทำงานบนฐานข้อมูล รายการ (Transaction) เป็นลำดับตรรกะของการทำงานหรือลำดับที่สมบูรณ์ซึ่งสามารถทำได้โดยการใช้ด้วยตนเองก็สามารถทำได้โดยอัตโนมัติโดยชนิดของโปรแกรมฐานข้อมูลบางส่วน
รายการ (Transaction) หมายถึงหนึ่งหรือมากกว่าการเปลี่ยนแปลงที่จะขยายฐานข้อมูล ตัวอย่างเช่นถ้าคุณกำลังสร้างการบันทึกหรือการปรับปรุงการบันทึกหรือลบบันทึกจากตารางที่คุณกำลังดำเนินการทำธุรกรรมบนโต๊ะ มันเป็นสิ่งสำคัญในการควบคุมการทำธุรกรรมเพื่อความสมบูรณ์ของข้อมูลและการจัดการข้อผิดพลาดฐานข้อมูล
ในความเป็นจริงคุณสามารถใส่จำนวนมากของ SQLite สหพันธ์แบบสอบถามเป็นกลุ่มทั้งหมดของพวกเขาใส่กันเป็นส่วนหนึ่งของการทำธุรกรรมสำหรับการดำเนินการ
การทำธุรกรรมอสังหาริมทรัพย์
รายการ (Transaction) มาตรฐานมีดังต่อไปนี้คุณสมบัติสี่ตามปกติในกรดย่อ:
อะตอมมิกซิตี้ (อะตอมมิกซิตี้): เพื่อให้มั่นใจว่าทุกหน่วยงานที่อยู่ในการดำเนินงานจะเสร็จเรียบร้อยแล้วมิฉะนั้นการทำธุรกรรมจะถูกยกเลิกในกรณีที่มีความผิดก่อนที่จะดำเนินการจะถูกรีดกลับสู่สภาวะเดิม
ความสอดคล้อง (Consistency): ตรวจสอบว่าการเปลี่ยนสถานะของฐานข้อมูลได้อย่างถูกต้องในการทำธุรกรรมส่งเรียบร้อยแล้ว
การแยก (แยก): การทำธุรกรรมที่จะทำงานได้อย่างอิสระและโปร่งใส
ถาวร (Durability): เพื่อให้มั่นใจว่าการทำธุรกรรมที่ได้รับการส่งผลหรือผลกระทบในกรณีของความล้มเหลวของระบบยังคงมีอยู่
การควบคุมการทำธุรกรรม
ใช้คำสั่งต่อไปนี้เพื่อควบคุมการทำธุรกรรม:
BEGIN รายการ: เริ่มต้นการทำธุรกรรม
COMMIT: บันทึกการเปลี่ยนแปลงของคุณหรือคุณสามารถใช้คำสั่ง END ธุรกรรม
ย้อนกลับ: ย้อนกลับการเปลี่ยนแปลง
คำสั่งควบคุมการทำธุรกรรมเฉพาะกับดราก้อนคำสั่ง INSERT, UPDATE และลบด้วยกัน เมื่อพวกเขาไม่สามารถสร้างหรือลบตารางการใช้ตารางเพราะดำเนินงานเหล่านี้ในฐานข้อมูลมีความมุ่งมั่นโดยอัตโนมัติ
BEGIN คำสั่งการทำธุรกรรม
รายการ (Transaction) ที่คุณสามารถใช้คำสั่ง BEGIN ธุรกรรมหรือง่าย BEGIN คำสั่งที่จะเริ่มต้น การทำธุรกรรมดังกล่าวมักจะดำเนินการที่ผ่านมาอย่างต่อเนื่องจน COMMIT หรือคำสั่งย้อนกลับต่อไป แต่เมื่อฐานข้อมูลถูกปิดหรือข้อผิดพลาดเกิดขึ้นการทำธุรกรรมที่จะได้รับการรีดกลับ ต่อไปนี้เป็นจุดเริ่มต้นของไวยากรณ์ง่ายรายการ:
BEGIN; หรือ BEGIN TRANSACTION;
COMMIT คำสั่ง
คำสั่ง COMMIT จะใช้ในการบันทึกการเปลี่ยนแปลงในการทำธุรกรรมฐานข้อมูลคำสั่งการทำธุรกรรมการโทร
COMMIT คำสั่งที่จะบันทึกการทำธุรกรรมทั้งหมดตั้งแต่ช่วงกระทำหรือย้อนกลับคำสั่งไปยังฐานข้อมูล
COMMIT ไวยากรณ์คำสั่งดังต่อไปนี้:
COMMIT; หรือ ธุรกรรม end;
คำสั่งย้อนกลับ
คำสั่งย้อนกลับเป็นคำสั่งเพื่อยกเลิกการทำธุรกรรมไม่ได้รับการบันทึกไว้ในฐานข้อมูลของการทำธุรกรรม
คำสั่งย้อนกลับสามารถใช้ในการยกเลิกการทำธุรกรรมตั้งแต่เดือนกระทำหรือย้อนกลับคำสั่งที่ออกมาตั้งแต่
คำสั่งไวยากรณ์ย้อนกลับจะเป็นดังนี้:
ย้อนกลับ;
ตัวอย่าง
ตาราง บริษัท สมมติว่ามีการบันทึกต่อไปนี้:
ID NAME เงินเดือนอายุที่อยู่ ---------- ---------- ---------- ---------- ---------- 1 เปาโล 32 20,000.0 แคลิฟอร์เนีย 2 อัลเลน 25 15,000.0 เท็กซัส เท็ดดี้ 3 23 นอร์เวย์ 20,000.0 4 มาร์ครวย 25-Mond 65,000.0 5 ดาวิด 27 85,000.0 เท็กซัส 6 คิม 22 ใต้ 45,000.0 ฮอลล์ 7 เจมส์ 24 ฮุสตัน 10,000.0
ตอนนี้ขอเริ่มต้นการทำธุรกรรมและลบระเบียนจากตารางอายุ = 25 และในที่สุดเราจะใช้คำสั่งย้อนกลับเพื่อยกเลิกการเปลี่ยนแปลงทั้งหมด
SQLite> BEGIN; SQLite> ลบออกจาก บริษัท อายุ = 25; SQLite> ย้อนกลับ;
ตรวจสอบตาราง บริษัท ยังคงมีบันทึกต่อไปนี้:
ID NAME เงินเดือนอายุที่อยู่ ---------- ---------- ---------- ---------- ---------- 1 เปาโล 32 20,000.0 แคลิฟอร์เนีย 2 อัลเลน 25 15,000.0 เท็กซัส เท็ดดี้ 3 23 นอร์เวย์ 20,000.0 4 มาร์ครวย 25-Mond 65,000.0 5 ดาวิด 27 85,000.0 เท็กซัส 6 คิม 22 ใต้ 45,000.0 ฮอลล์ 7 เจมส์ 24 ฮุสตัน 10,000.0
ตอนนี้ขอเริ่มต้นการทำธุรกรรมอื่นให้ลบระเบียนจากตารางอายุ = 25 และในที่สุดเราจะใช้คำสั่ง COMMIT ที่จะกระทำการเปลี่ยนแปลงทั้งหมด
SQLite> BEGIN; SQLite> ลบออกจาก บริษัท อายุ = 25; SQLite> COMMIT;
บริษัท ตรวจสอบตารางบันทึกต่อไปนี้:
ID NAME เงินเดือนอายุที่อยู่ ---------- ---------- ---------- ---------- ---------- 1 เปาโล 32 20,000.0 แคลิฟอร์เนีย เท็ดดี้ 3 23 นอร์เวย์ 20,000.0 5 ดาวิด 27 85,000.0 เท็กซัส 6 คิม 22 ใต้ 45,000.0 ฮอลล์ 7 เจมส์ 24 ฮุสตัน 10,000.0