
---- 第一章 PL/SQL 简介 ----
1. Oracle 应用编辑方法概览
1) Pro*C/C++/... : C 语言和数据库打交道的方法,比 OCI 更常用;
2) ODBC
3) OCI: C 语言和数据库打交道的方法,和 Pro*C 很相似,更底层,很少用 只适合 ORACLE;
4) SQLJ: 很新的一种用 Java 访问 Oracle 数据库的方法,会的人不多;
5) JDBC
6) PL/SQL: 存储在数据库内运行, 其他方法为在数据库外对数据库访问,只适合 ORACLE;
2. PL/SQL
1) PL/SQL(Procedual language/SQL)是在标准 SQL 的基础上增加了过程化处理的语言;
2) Oracle 客户端工具访问 Oracle 服务器的操作语言;
3) Oracle 对 SQL 的扩充;
4. PL/SQL 的优缺点
优点:1) 结构化模块化编程,不是面向对象;
2) 良好的可移植性(不管 Oracle 运行在何种操作系统);
3) 良好的可维护性(编译通过后存储在数据库里);
4) 提升系统性能;
缺点 1) 不便于向异构数据库移植应用程序(只能用于 Oracle);
5. SQL 与 PL/SQL 的区别
SQL:1) 第四代语言(智能语言);
2) 做什么,不管怎么做;
3) 缺少过程与控制语句;
4) 无算法
PL/SQL: (相对 SQL 扩展部分)
1) 扩展变量和类型;
2) 扩展控制结构;
3) 扩展过程与函数;
4) 扩展对象类型与方法
---- 第二章 PL/SQL 程序结构 ----
1. PL/SQL 块
1) 申明部分, DECLARE (如果语句不需要声明任何变量,可以不写);
2) 执行部分, BEGIN <---------> END;
3) 异常处理,EXCEPTION(可以没有);
2. PL/SQL 开发环境
可以运用任何纯文本的编辑器编辑,例如:VI
3. PL/SQL 字符集
字母: A-Z, a-z;
数字: 0-9;
空白: TAB , SPACE , 回车;
符号: +_)(*&^%$#@!~ ;
PL/SQL 对大小写不敏感(注意)
4. 标识符命名规则答:
1) 字母开头;
2) 后跟任意的 非空格字符º 数字º 货币符号( $ ) 下划线( _ ) 或 # ;
3) 最大长度为 30 个字符(八个字符左右最合适);
用来给对象命名(潜规则):
变量: 以 v_开头
游标: 以 c_开头
类型:
子程序:
5. 分界符
1) 运算符º + - * / **(指数操作符)
2) 关系ºº =(相当于 JAVA 中的==) > < <> != ~= ^= <= >=
3) 赋值ºº := 例子 a:=2
4) 连接 ººº || 例: 'abc' || 123
5) 标号ººº º<< 需要的标记 >>
6) 注释ººº º --(单行) /* */(段落)
7) 替代 ººº <scape> <tab> <enter>
6. 文字
1)字符型文字(字符串)
'tom' (单引号)
'tom''s pen' ''为 2 个单引号(标识转义) 为 tom's pen
2)数字型
123 -4 +56 0 9.0 1.23E5 9.8e-3
3)布尔型
TRUE FALSE NULL
7. 变量声明
语法 Var_name [CONSTANT](标识常量,可选) type [NOT NULL](标识为 not-null 后必须在后面初始化) [:=value](赋值,初始化);
Var_name [CONSTANT](标识常量,可选) type [NOT NULL] [ default value](赋值,初始化)等同于上面的语句;
注:1) 申明时可以有默认值也可以没有;
2) 如有[CONSTANT][NOT NULL], 变量一定要有一个初始值;
3) 赋值语句为“:=”;
4) 变量可以认为是数据库里一个字段;
5) 规定没有初始化的变量为 NULL;
---- 第三章 变量与数据类型 ----
1. 数据类型
1) 标量型:数字型(BINARY_INTEGER,NUMBER)(DEC,FLOAT,REAL... NUMBER 的子类型)、