0921 PL/SQL

来源:互联网 发布:vb编程软件 编辑:程序博客网 时间:2024/05/16 14:55

一、定义

PL/SQL(Procedural Language/SQL),一种过程化语言,通过增加编程语言的特点,实现对SQL的扩展。

二、特点

支持所有SQL的语法;

支持case语句,方便的实现循环;

通过继承,实现子类具有父类的属性和方法;

设置了新的日期类型。

三、开发环境和工作原理

开发环境:Oracle数据库服务器

工作原理:由PL/SQL引擎接受指令,将指令传递给Oracle数据库服务器执行

四、语句块

PL/SQL程序是按照块结构进行划分,块是PL/SQL程序的基本单位


五、命名规则

变量名首字母必须是英文字母,其后可以是字母、数字或者¥、#、_;

长度不超过30个字符;

不能有空格。

六、语句结构

if-then


if-then-else


if-then-elsif


case


while-loop


for-loop


七、异常

预定义异常



八、变量

常用的

binary_integer:整数,用来计数

number:数字字符

char:定长字符串

varchar2:变长字符串

date:日期

long:长字符串

boolean:布尔类型

复杂的

table:集合(表示集合时要自己定义的一个新的数据类型)

--type 声明的是数据类型
--is table of 固定写法:一组什么类型的集合
--is table of number 一组数字类型的集合
--is table of varchar2(20) 一组可变长度的字符串的集合
--index 代表下标
--index by 下标的类型
--index by binary_integer代表下标类型是整数型
declare 

type number_set is table of varchar2(20) index by binary_integer;
  my_number number_set;
begin
  my_number(1):='abc';
  dbms_output.put_line(my_number(1));
end;

record:类(代表实体,一条记录)

--record是类 类型,包含多个属性
--is record固定语法

declare 
type type_a is record(id_v number, name_v char(20));
  test_a type_a;
begin 
  test_a.id_v:=1;
  test_a.name_v:='abc';
  dbms_output.put_line(test_a.id_v||test_a.name_v);
end;


原创粉丝点击