rollback语句
rollback语句结束当前的事务,并撤销在该事务中的任何改变。
如果犯了错误,如错误地删除一行,回滚语句可以恢复原始的数据。
因为SQL语句失败或PL/SQL语句引发异常,回滚可以让你更正错误从新开始。
DROP TABLE emp_name; CREATE TABLE emp_name AS SELECT employee_id, last_name FROM employees; CREATE UNIQUE INDEX empname_ix ON emp_name (employee_id);
DROP TABLE emp_sal; CREATE TABLE emp_sal AS SELECT employee_id, salary FROM employees;
CREATE UNIQUE INDEX empsal_ix ON emp_sal (employee_id);
DROP TABLE emp_job; CREATE TABLE emp_job AS SELECT employee_id, job_id FROM employees;
CREATE UNIQUE INDEX empjobid_ix ON emp_job (employee_id);
DECLARE emp_id NUMBER(6); emp_lastname VARCHAR2(25); emp_salary NUMBER(8,2); emp_jobid VARCHAR2(10); BEGIN SELECT employee_id, last_name, salary, job_id INTO emp_id, emp_lastname, emp_salary, emp_jobid FROM employees WHERE employee_id = 120;
INSERT INTO emp_name (employee_id, last_name) VALUES (emp_id, emp_lastname);
INSERT INTO emp_sal (employee_id, salary) VALUES (emp_id, emp_salary);
INSERT INTO emp_job (employee_id, job_id) VALUES (emp_id, emp_jobid);
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN ROLLBACK; DBMS_OUTPUT.PUT_LINE('插入被回滚'); END;
|
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1122924/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1122924/