传智播客——数据库之ORACLE(三)
一 数据库的事务处理
定义:事务是一组相关的数据改变的逻辑集合。在一个事务中的数据改变(DML)保持着一致的状态,数据的改变同时成功或者同时失败。
二 数据库的事务由下列语句组成
一组DML语句,修改的数据在他们中保持一致
一个 DDL (Data Define Language) 语句
一个 DCL (Data Control Language)语句
1、开始于第一个执行的语句
2、结束于:
用户执行COMMIT 或 ROLLBACK
单个的DDL or DCL 语句
用户连接异常错误,或者用户断开连接
系统崩溃
COMMIT和 ROLLBACK可以显示的控制事务。
好处:
1、保证数据一致性,修改过的数据在没有提交之前
是不能被其他用户看到的。
2、在数据永久性生效前重新查看修改的数据
3、将相关操作组织在一起,一个事务中相关的数
据改变或者都成功,或者都失败。
1、当下列情况发生时事务自动隐式提交:
执行一个 DDL 语句
执行一个DCL 语句
从 SQL*Plus正常退出(EXIT 或者 QUIt)
2、当从SQL*PLUS中强行退出或连接异常中断时,事务自动回滚
以前的数据可恢复
当前的用户可以看到DML操作的结果
其他用户不能看到DML操作的结果
被操作的数据被锁住,其他用户不能修改这些数据
数据的修改被永久写在数据库中.
数据以前的状态永久性丢失.
所有的用户都能看到操作后的结果.
记录锁被释放,其他用户可操作这些记录.
所有的 savepoint被去掉.
三 使用子查询创建表
使用子查询创建表的语法
CREATE TABLE table
[column(, column...)]
AS subquery;
新表的字段列表必须与子查询中的字段列表匹配
字段列表可以省略
--带数据的
create table departments02
as select * from departments
--不带数据的
create table departments03
as select * from departments where 1>2
--不省略字段列表
create table departments04 (
"部门编号",
"部门名称",
"管理者编号“ )
as select department_id,department_name,manager_id from departments
----不省略字段列表
create table departments05
as select department_id "部门编号", department_name "部门名称" from departments
ALTER TABLE 语句使用ALTER TABLE 语句可以:
增加字段
修改字段
删除字段
ALTER TABL
相关文档:
http://tianzt.blog.51cto.com/459544/171759 仅仅供自己学习之用
此文从以下几个方面来整理关于分区表的概念及操作:
1.表空间及分区表的概念
2.表分区的具体作用
3 ......
关于plsql中的define变量以及Oracle变量分类小结
2009-07-29 15:18
先记载刚困扰我的一个问题,最近学习plsql,由于所用学习书籍后面提供题目常用到define变量,但由于这一变量的使用特殊性,自己便寻思这一变量所书类别,Oracle提供的变量分类共有四类:
1)标量(scalar)类型
2)复合(composite)类型
3)参照(re ......
下面两篇文章全部是转帖~
原地址:http://www.im80hou.com/html/oracle/2009/0722/824.html
理论:
内存与硬盘的速度差异,从内存中读取数据要比从硬盘中读取数据快10000倍
众所周知,从内存中读取数据要比从硬盘中读取数据快10000倍。这主要是内存与硬盘的速度差异所造成的。为此在Oracle数据库中提出一个数据缓存的 ......
alter table 的功能是修改表格。包括重名命,加减字段,修改字段类型和大小,处理 约束等等。本例子之处理表名和字段,代码如下:
create table liu(a varchar2(20),b number(2))
alter table liu rename to jin
rename jin to cai
alter table cai add c varchar2(30)
alter table cai add (d varchar2(3 ......
Oracle管理员的两种认证方法
注意:重要
parameter 中remote_login_passwordfile
1、alter system set remote_login_passwordfile= none scope =spfile;
含义:非密码认证(此时仅os认证 )
2、alter system set remote_login_passwordfile= exclusive ......