173. 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 ( DDL) statement is executed
E. when a TRUNCATE statement is executed after the pending transaction
Answer: BDE
答案解析:
事务处理在遇到第一条DML 语句时开始,在发生以下事件之一时结束:
• 发出COMMIT或ROLLBACK语句。
• 发出DDL 语句,例如CREATE,TRUNCATE等。
• 发出DCL 语句。
• 用户退出SQL Developer 或SQL*Plus。
• 计算机出现故障或系统崩溃。
一个事务处理结束后,下一个可执行的SQL 语句会自动启动下一个事务处理。DDL 语句或DCL 语句是自动提交的,因此会隐式结束一个事务处理。