DML คอมมิตอัตโนมัติหรือไม่
DML คอมมิตอัตโนมัติหรือไม่

วีดีโอ: DML คอมมิตอัตโนมัติหรือไม่

วีดีโอ: DML คอมมิตอัตโนมัติหรือไม่
วีดีโอ: KRIS : Live - 0047_SQL : Data Manipulation Language (DML) and Transaction Processing 2024, พฤศจิกายน
Anonim

โดยค่าเริ่มต้น a DML คำสั่งที่ดำเนินการโดยไม่ได้เริ่มต้นธุรกรรมโดยชัดแจ้งจะกำหนดโดยอัตโนมัติเมื่อสำเร็จหรือย้อนกลับเมื่อล้มเหลวเมื่อสิ้นสุดคำสั่ง พฤติกรรมนี้เรียกว่า ส่งอัตโนมัติ . พฤติกรรมนี้ถูกควบคุมด้วย ออโต้คอมมิท พารามิเตอร์.

ในที่นี้ DDL เป็น Autocommit หรือไม่?

คำสั่ง SQL ดำเนินการใน ส่งอัตโนมัติ โหมดไม่สามารถย้อนกลับได้ DBMS ส่วนใหญ่ (เช่น MariaDB) บังคับ ส่งอัตโนมัติ สำหรับทุกคน DDL คำสั่งแม้แต่ innon- ส่งอัตโนมัติ โหมด. ก่อน DDL คำสั่งเริ่มต้นคำสั่ง DML ก่อนหน้าในการทำธุรกรรมถูกคอมมิต (อัตโนมัติ) แต่ละ DDL ถูกประหารชีวิตในตัวเองใหม่ ส่งอัตโนมัติ ธุรกรรม.

นอกจากนี้ SQL Server Autocommit เป็นแบบอัตโนมัติหรือไม่ คอมมิตอัตโนมัติ โหมดเป็นโหมดการจัดการธุรกรรมเริ่มต้นของ SQL Server เครื่องยนต์ฐานข้อมูล ทุกธุรกรรม- SQL คำสั่งมีความมุ่งมั่นหรือย้อนกลับเมื่อเสร็จสิ้น

ในลักษณะนี้ คำสั่ง DML สามารถย้อนกลับได้หรือไม่?

ผลกระทบของ a คำสั่ง DML จะไม่ถาวรจนกว่าคุณจะทำธุรกรรมที่รวมไว้ ลำดับ isa ของทรานแซคชันของ SQL งบ ที่ Oracle Database ปฏิบัติต่อหน่วย asa (it สามารถ เป็นโสด คำสั่ง DML ). จนกว่าจะมีการตกลงซื้อขายกัน สามารถ เป็น ย้อนกลับ (เลิกทำ).

truncate ต้องการคอมมิตหรือไม่?

และประเด็นสำคัญ - แม้ว่า ตัด TABLE ดูเหมือนจะเป็น DELETE ที่ไม่มีส่วนคำสั่ง WHERE ตัด ไม่ใช่ DML แต่เป็น DDL ลบ ต้องใช้ NS ให้สัญญา , แต่ TRUNCATEไม่ ไม่.

แนะนำ: