设为首页 加入收藏

TOP

Oracle学习(8):处理数据(三)
2015-07-24 11:23:17 来源: 作者: 【 】 浏览:11
Tags:Oracle 学习 处理 数据
39 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 13-7月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 13-7月 -87 1100 20


EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ----- ---------- ----------
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10


已选择14行。


SQL> set feedback off
SQL> select * from emp;


EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ----- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 13-7月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 13-7月 -87 1100 20


EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ----- ---------- ----------
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
SQL> @c:\sql.sql
SQL> select count(*) from testdelete;


COUNT(*)
----------
5000
SQL> set timing on
SQL> delete from testdelete;;
delete from testdelete;
*
第 1 行出现错误:
ORA-00911: 无效字符




已用时间: 00: 00: 00.00
SQL> delete from testdelete;
已用时间: 00: 00: 00.04
SQL> drop table testdelete purge;
已用时间: 00: 00: 01.36
SQL> set timing on
SQL> set timing off
SQL> @c:\sql.sql
SQL> set timing on
SQL> truncate table testdelete;
已用时间: 00: 00: 03.21
SQL> set timing off
SQL> host cls



Oracle中的事务

事务知识点

数据库事务由以下的部分组成:

一个或多个DML 语句 一个DDL(Data Definition Language ? 数据定义语言) 语句 一个DCL(Data Control Language ? 数据控制语言) 语句


1. 起始标志: DML语句-自动开启
2. 结束标志:提交: 显式提交 commit
隐式提交: DDL(create table,drop user,..)
回滚:显式回滚 rollback

隐式回滚: 掉电,宕机,非正常退出

使用COMMIT 和ROLLBACK语句,我们可以:

l确保数据完整性。 l数据改变被提交之前预览。 l将逻辑上相关的操作分组。

自动提交在以下情况中执行: ?DDL 语句。 ?DCL 语句。 ?不使用 COMMIT 或 ROLLBACK 语句提交或回滚,正常结束会话exit。 会话异常结束或 系统异常会导致自动回滚。


保存点

使用SAVEPOINT 语句在当前事务中创建保存点。 使用ROLLBACK TOSAVEPOINT 语句回滚到创建的保存点。


SQL> create table testsavepoint

2 (tid number,tname varchar2(20));
SQL> set feedback on
SQL> insert into testsavepoint values(1,'Tom');


已创建 1 行。


SQL> insert into testsavepoint values(2,'Mary');


已创建 1 行。


SQL> savepoint a;


保存点已创建。


SQL> insert into testsavepoint values(3,'Mike');


已创建 1 行。


SQL> rollback to savepoint a;


回退已完成。


SQL> select * from testsavepoint;


TID TNAME
---------- --------------------
1 Tom
2 Mary


已选择2行。


SQL> commit;


提交完成。

JDBC中如何使用保存点

SQL> /*
SQL> JDBC中使用存储点
SQL> Connection conn = ...
SQL> conn.setAutoCommit(false);
SQL> Savepoint sp = conn.setSavepoint("aaa")
SQL> DML
SQL>
SQL> conn.rollback(sp);
SQL> */
SQL> spool off
首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle12cgriddb安装的的checklist 下一篇PL/SQLDeveloper导入导出Oracle数..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)
·金融界大佬力荐,Pyt (2025-12-25 04:49:42)
·你必须要弄懂的多线 (2025-12-25 04:22:35)
·如何在 Java 中实现 (2025-12-25 04:22:32)