1Z0-051 Question #001
โดยคุณ Kitti Taweepanyayot

When does a transaction complete? (Choose all that apply.)

A. When a DELETE statement is executed
B. When a ROLLBACK command is executed
C. When a PL/SQL anonymous block is executed
D. When a data definition language statement is executed
E. When a TRUNCATE statement is executed after the pending transaction

อธิบาย [spoil //ไฮไลท์เพื่อดูข้อความที่ซ่อนไว้]

คำตอบ คือ B,D,E

จากนิยามของ transaction คือ
A transaction is an atomic unit. => transaction ในเชิง dbms คือ ส่วนที่เล็กที่สุดที่ไม่สามารถแบ่งย่อยได้
ทุกๆ SQL statements ที่ประกอบขึ้นเป็น transaction นั้น (insert, update, delete หรือ merge) สามารถ เกิดได้ สองกรณีคือ
1. committed บันทึกข้อมูล ลงในฐานข้อมูล
2. rolled back ยกเลิกทุกสิ่งอย่างที่เกิดขึ้นกับ Transaction นั้นๆ
transaction เริ่มต้นที่ การ executable SQL statement ครั้งแรก และจบลงด้วย การ committed หรือ rolled back

ไม่ว่า จะ รันคำสั่ง COMMIT or ROLLBACK อย่างแน่ชัด หรือ DDL statement ถูกรัน อย่างเป็นนัย

B. ถูกเพราะ COMMIT หรือ ROLLBACK ต้องเป็นส่วนหนึ่งของ transaction.

D. ถูกเพราะ data definition language (DDL) จะรัน COMMIT หรือ ROLLBACK ให้เองโดยอัตโนมัติ

E. ถูกเพราะ TRUNCATE เป็น DDL


141024.15:01:00
• เพิ่ม.