天天看点

OCP-1Z0-051 第172题 事务savepoint的注意事项

一、原题

The SQL statements executed in a user session are as follows:

SQL> CREATE TABLE product

                 (pcode NUMBER(2),

                  pname VARCHAR2(10));

SQL> INSERT INTO product VALUES (1, 'pen');

SQL> INSERT INTO product VALUES (2,'pencil');

SQL> SAVEPOINT a;

SQL> UPDATE product SET pcode = 10 WHERE pcode = 1;

SQL> SAVEPOINT b;

SQL> DELETE FROM product WHERE pcode = 2;

SQL> COMMIT;

SQL> DELETE FROM product WHERE pcode=10;

Which two statements describe the consequences of issuing the ROLLBACK TO SAVE POINT a command in the session? (Choose two.)

A. The rollback generates an error.

B. No SQL statements are rolled back.

C. Only the DELETE statements are rolled back.

D. Only the second DELETE statement is rolled back.

E. Both the DELETE statements and the UPDATE statement are rolled back.

答案:AB

二、题目翻译

在一个user session执行如下的SQL语句:

哪两个句子可以描述执行ROLLBACK TO SAVE POINT a的影响:

A.rollback语句会报错。

B.没有SQL语句被回滚。

C.只有DELETE语句被回滚。

D.只有第二个DELETE语句被回滚。

E.两个DELETE语句和UPDATE语句被回滚。

三、题目解析

在倒数第二句,commit语句之后,前面的内容都提交了,事务就结束了.

savepoint a是这个结束事务的回滚点,这个事务结束以后,再执行ROLLBACK TO SAVE POINT a就会报错了,而且也不会回滚任何的数据。

继续阅读