Oracle 事务、索引、视图

1、事务(Transaction)

1、完整事务:分为显示   关键字:只有用到commit 才能真正写入数据库

                      隐示事务:连接——set   autocommit on(针对一个连接) 

 正常执行完成的:create、alter、drop

 正常执行完场的:grant、revoke

 正常退出SQLPlus或者SQL Developer等客户端

  ——回滚:RollBack只能对未提交的数据撤消,已经commit的数据无法撤销,业务commit之后已经持久化到数据库中。                      

2、部分事务:关键字——save point

1 UPDATE departments SET address = '5号教学楼'
2   WHERE department_id = 104;
3 SAVEPOINT sp1;
4 DELETE FROM departments WHERE department_id = 104;
5 SELECT * FROM departments;
6 ROLLBACK TO sp1;
7 SELECT * FROM departments;

上面代码:删除操作回滚,修改操作提交。

3、只读事务:关键字——set transaction read only

SET TRANSACTION READ ONLY;
SELECT * FROM departments;
UPDATE departments SET address = '8号教学楼'
  WHERE department_id = 104;
ROLLBACK;

 

4、单独事务——SQLServer、MySQL独有

2、索引

B树索引——create index  索引名  on 表(列)

卫图索引——create bitmap index 索引名 on 表(列);

反向建索引——create index 索引名 on 表(列) reverse;

查看索引

user_indexes:     系统视图存放是索引的名称以及该索引是否是唯一索引等信息。
user_ind_column:  系统视图存放的是索引名称,对应的表和列等。

删除索引——drop index 索引名;

3、视图

建立视图Create and use a view/Creating and Using Simple Views
在Departments表上建立视图Departments_view,视图Departments_view映射表Departments 的全部行列。
CREATE VIEW Departments_view AS
  SELECT * FROM Departments;

使用视图

使用视图Create and use a view/Creating and Using Simple Views
1.查询Performing a SELECT on a View
例Departments_view上查询其中的所有行列。
SELECT * FROM Departments_view;

显示Depertments_view视图结构——DESCRIBE students_view;

修改视图——modify a view;

删除视图——列:DROP VIEW Departments_view;

 

posted @ 2018-04-05 17:48  菜头与白菜  阅读(255)  评论(0编辑  收藏  举报