标签:
显式游标使用主要有四个步骤:
声明/定义游标
打开游标
读取数据
关闭游标
CASE 条件表达式
WHEN 条件表达式结果1 THEN
语句1
WHEN 条件表达式结果2 THEN
语句2
......
WHEN 条件表达式结果n THEN
语句n
[ELSE 条件表达式结果]
END;
包(PACKAGE)是一种数据对象,它是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合,作为一个完整的单元存储在数据库中,用名称来标识。
包的优点
3. 包的定义
PL/SQL中的包由包规范和包体两部分组成。建立包时,首先要建立包规范,然后再建立对包规范的实现–包体。
item_list_1:声明包的公用组件列表
{ type_definition -- 数据类型
| cursor_declaration -- 游标
| item_declaration -- 变量、常量等
| function_declaration -- 函数
| procedure_declaration -- 过程
}
1. 存储过程概念
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中。经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
2. 事务特性
SQL92标准定义了数据库事务的四个特点:
一组SQL语句操作要成为事务,数据库管理系统必须保证这组操作的原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和持久性(Durability),这就是ACID特性。
3. 数据异常
3.1 脏读
3.2 不可重复读
3.3 幻读
4. 事务隔离级别
针对读取数据时可能产生的不一致现象,在SQL92标准中定义了4个事务的隔离级别:
隔离级别 |
脏读 |
不可重复读 |
幻读 |
Read uncommitted(读未提交) |
是 |
是 |
是 |
Read committed(读已提交) |
否 |
是 |
是 |
Repeatable read(可重复读) |
否 |
否 |
是 |
Serializable(串行读) |
否 |
否 |
否 |
5. 事务控制命令
5.1 提交事务
在执行使用COMMIT语句可以提交事务,当执行了COMMIT语句后,会确认事务的变化,结束事务,删除保存点,释放锁。当使用COMMIT语句结束事务之后,其他会话将可以查看到事务变化后的新数据。
5.2 回滚事务
保存点(savepoint):是事务中的一点,用于取消部分事务,当结束事务时,会自动的删除该事务所定义的所有保存点。当执行ROLLBACK时,通过指定保存点可以回退到指定的点。
6. 数据库锁
6.1 锁分类
6.2 共享锁(S锁)
6.3 排他锁(X锁)
6.4 行级共享锁(RS锁)
6.5 行级排他锁(RX锁)
6.6 共享行级排他锁(SRX锁)
标签:
原文地址:http://www.cnblogs.com/zzwx/p/4593233.html