PL/SQL学习笔记(1)

来源:互联网 发布:今古传奇故事月末 知乎 编辑:程序博客网 时间:2024/05/22 03:29
PL/SQL 简言之就是过程化的SQL语言,主要是针对ORACLE数据库的。
1、PL/SQL的语句块结构,PL/SQL语句块由四部分组成,
Declare
声明块,主要用于变量的声明
Begin
开始,中间是一些PL/SQL语句
Exception
意外处理模块
End;

2、PL/SQL语句块的分类
主要分为三类
(1)、匿名块:动态创建,只能执行一次
(2)、子程序:保存在数据库中,可以被别的程序调用,也可调用别的子程序
(3)、触发器:从名字就可以看出,主要处理数据库某些事引发的事件

3、PL/SQL中的标识符
和JAVA不同的有三点,首字符必须是字母,不能使用‘-’符号。另外不区分大小写

4、PL/SQL中的变量声明
变量名  类型  [not null]  [:=value]

5、PL/SQL中的复合类型
主要用来把一些逻辑相关的数据做一个单元储存起来,类型声明格式为:
   Type 名称  is record ( fieldname1  type  [not null],
                           fieldname2  type  [not ull],
                                        .
                                        .
                            fieldnamen  type  [not null])
调用的时候直接
   名称   类型名(之前声明的复合类型名)[:=value]
注:%Type 定义与表相配的字段  tablename.columnname%Type
    %rowtype 形成一个与表结构相同的记录类型  tablename%rowtype

6、PL/SQL表
  这是由用户自己定义的模仿数组的非永久表,我们就可以用引用数组元素的方法引用他们,主要由两部分组成
(1)、Binary_Integer  主键。(2)、标记或记录数据类型的列
声明格式如下
  type type_name is table of {column type|variable%type|table.columntype} index by Binary_Integer.

7、PL/SQL可变数组
声明格式为
   type type_name is varray(maximumsize) of element_type [not null]

8、Table和Varray的区别
table 的大小行数是无限的,而Varray是有最大空间限制的
table的下标可以有间隔,而varray的下标不能有间隔;
table是临时的,不能保存在数据库中,Varray可以
table 会自动进行初始化,而Varray则需要由构造函数执行。
《未完待续》