171. Which three statements/commands would cause a transaction to end? (Choose three.)
A. COMMIT
B. SELECT
C. CREATE
D. ROLLBACK
E. SAVEPOINT
COMMIT、ROLLBACK 显示的提交或回滚事务。
DDL及DCL隐式的提交事务。
可以通过SAVEPOINT 控制回滚位置(相当于事务中的存档)
Answer: ACD
A. COMMIT
B. SELECT
C. CREATE
D. ROLLBACK
E. SAVEPOINT
COMMIT、ROLLBACK 显示的提交或回滚事务。
DDL及DCL隐式的提交事务。
TEST >select empno from emp2 where empno=7788;
EMPNO
----------
7788
1 row selected.
TEST >delete from emp2 where empno=7788;
1 row deleted.
TEST >create or replace view v_emp2 as select * from emp2;
View created.
TEST >rollback;
Rollback complete.
TEST >select empno from emp2 where empno=7788;
no rows selected
TEST >select empno from emp2 where empno=7369;
EMPNO
----------
7369
1 row selected.
TEST >delete from emp2 where empno=7369;
1 row deleted.
TEST >grant select on emp2 to scott;
Grant succeeded.
TEST >rollback;
Rollback complete.
TEST >rollback;
Rollback complete.
TEST >select empno from emp2 where empno=7369;
no rows selected
可以通过SAVEPOINT 控制回滚位置(相当于事务中的存档)
SQL> CREATE TABLE product
2 (pcode NUMBER(2),
3 pname VARCHAR2(10));
Table created
SQL> INSERT INTO product VALUES (1, 'pen');
1 row inserted
SQL> INSERT INTO product VALUES (2,'pencil');
1 row inserted
SQL> SAVEPOINT a;
Savepoint created
SQL> UPDATE product SET pcode = 10 WHERE pcode = 1;
1 row updated
SQL> SAVEPOINT b;
Savepoint created
SQL> DELETE FROM product WHERE pcode = 2;
1 row deleted
SQL> ROLLBACK TO SAVEPOINT a;
Rollback complete
SQL> SELECT * FROM product;
PCODE PNAME
----- ----------
1 pen
2 pencil
Answer: ACD