1 / 35
文档名称:

第六章ORACLE复习提纲.doc

格式:doc   大小:235KB   页数:35页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第六章ORACLE复习提纲.doc

上传人:mh900965 2018/3/27 文件大小:235 KB

下载得到文件列表

第六章ORACLE复习提纲.doc

相关文档

文档介绍

文档介绍:第六章 PL/SQL基础
一、PL/SQL块
1、分类
无名块:动态构造,只能执行一次。
子程序:存储在数据库中的存储过程、函数及包等。当在数据库上建立好后可以在其他程序中调用它们。
触发器:当数据库发生操作时,会触发一些事件,从而自动执行相应的程序。
2、无名PL/SQL块结构
由声明部分、执行部分、异常处理部分三个部分组成,执行部分是必须的。
DECLARE
/* 声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数*/
BEGIN
/* 执行部分: 过程及SQL 语句, 即程序的主要部分*/
EXCEPTION
/* 执行异常部分: 错误处理*/
END;
3、PL/SQL写法
语句可以写在多行上
语法单位可以分为分隔符、标识符(包括保留字)、文字常量、注释
分隔符是有特殊意义的简单或复合符号,如:
+ - * / = @(访问远程数据库的符号) ;(语句结束符) <> != || --(单行注释) /* */(注释开始和结束) :=
标识符
文字常量:
字符和日期文字常量必须使用单引号括起
数字常量可以是简单数值或科学计数法表示的数值
XeY表示X*10Y
二、使用变量
1、标识符
标识符名不能超过30个字符;
第一个字符必须为字母;
不分大小写;
不能用‘-’(减号);
不能是SQL保留字。
注意:一般不要把变量名声明与表中字段名完全一样,如果这样可能得到不正确的结果。
变量名不要与数据库中的列重名
本地变量或形参的名字优先于表名
数据库列名优先于本地变量的名字
2、数据类型
变量分为标量类型、复合类型、LOB类型和引用类型
标量数据类型
保存单个值
没有内部组件
CHAR[(maximum_length)]最大32767字节
VARCHAR2(maximum_length)最大32767字节
LONG 32760 字节
LONG RAW 32760 字节
RAW(长度) 最大32760字节
NUMBER[(precision,scale)
BINARY_INTEGER 符号数
PLS_INTEGER符号数,占用内存更少,运算速度快
BOOLEAN,只能保存TURE、FALSE和NULL
BLOB、CLOB、BFILE,保存了大对象的定位器(一个指向大对象存贮位置的指针)
复合数据类型
分为记录型和集合型
记录型将逻辑上相关的数据项组织成一个整体
集合型包括index by table(索引表)、nested table嵌套表、Varray变长数组,集合类型将数据集合作为一个对象来对待
记录型
必须包括一个或多个由标量型、记录型、索引表型字段,类似于C语言中的structure,使用记录型可以方便的从表中取出一行数据进行处理
记录中可以有任意多个字段
记录中的字段可以有初始值并被定义为NOT NULL
说明为NOT NULL的变量或字段必须有初始值或默认值
V_A number not null (:=123|default 3);
可以在任何PL/SQL块的声明部分定义记录类型
记录类型可以嵌套
定义记录类型:
TYPE 记录类型名 IS RECORD (字段1[,字段2]…);
字段定义:字段名{类型|变量名%TYPE|%TYPE|表名%ROWTYPE} [[NOT NULL]{:=|DEFAULT}expr]
声明记录型变量:变量名记录类型名;
类型定义:定义了类型的名字,结构,但不分配内存
变量声明:定义了变量的类型,同时分配内存
举例:
定义一个记录类型,保存职工的编号,last name和岗位
将101号职工的信息保存在记录变量中,使用dbms_output包输出信息
DECLARE
TYPE emp_record_type IS RECORD
(employee_id NUMBER(6)NOT NULL:=100,
last_name %TYPE,
job_id %TYPE);
emp_record emp_record_type;
begin
select employee_id,last_name,job_id into emp_record from employees where employee_id=101;
();
();
dbms_o