Oracle扩展PL/SQL简介

1、            PL/SQL概述。

PL/SQL是Oracle对SQL规范的扩展,是一种块结构语言,即构成一个PL/SQL程序的基本单位(过程、函数和无名块)是逻辑块,可包含任何数目的嵌套了快。这种程序结构支持逐步求精方法解决问题。一个块(或子块)将逻辑上相关的说明和语句组合在一起,其形式为:

DECLARE

---说明

BEGIN

---语句序列

EXCEPTION

---例外处理程序

END;

它有以下优点:

l  支持SQL;

l  生产率高;

l  性能好;

l  可称植性;

l  与ORACLE集成.

 

2、            PL/SQL体系结构

PL/SQL运行系统是种技术,不是一种独立产品,可认为这种技术是PL/SQL块和子程序的一种机,它可接收任何有效的PL/SQL块或子程序。如图所示:

 

 

 

 

 

 

 

 

 

 

 

 

 


PL/SQL机可执行过程性语句,而将SQL语句发送到ORACLE服务器上的SQL语句执行器。在ORACLE预编译程序或OCI程序中可嵌入无名的PL/SQL块。如果ORACLE具有PROCEDURAL选件,有名的PL/SQL块(子程序)可单独编译,永久地存储在数据库中,准备执行。

 

 

3、            PL/SQL基础:

PL/SQL有一字符集、保留字、标点、数据类型、严密语法等,它与SQL有相同表示,现重点介绍。

1)、数据类型:如下表所示

 

 

数据类型

子类型

纯量类型

数值

BINARY_INTEGER

NATURAL,POSITIVE

NUMBER

DEC,DECIMAL,DOUBLE PRECISION,PLOAT,INTEGER,INT,NUMERIC,REAL,SMALLINT

字符

CHAR

CHARACTER,STRING

VARCHAR2

VARCHAR

LONG

 

LONG RAW

 

RAW

 

RAWID

 

逻辑

BOOLEAN

 

日期

DATE

 

组合

类型

记录

RECORD

 

TABLE

 

 

2)、变量和常量

在PL/SQL程序中可将值存储在变量和常量中,当程序执行时,变量的值可以改变,而常量的值不能改变。

 

3)、程序块式结构:

DECLARE

        变量说明部分;

BEGIN

        执行语句部分;

[EXCEPTION

        例外处理部分;]

END;

 

4、            控制语句:

分支语句:

IF condition THEN

        Sequence_of_statements;

END IF;

 

IF condition THEN

        Sequence_of_statement1;

ELSE

        Sequence_of_statement2;

END IF;

 

IF condition1 THEN

        Sequence_of_statement1;

ELSIF condition2 THEN

        Sequence_of_statement2;

ELSIF condition3 THEN

        Sequence_of_statement3;

END IF;

 

 

5、            循环语句:

LOOP

        Sequence_of_statements;

        IF condition THEN

               EXIT;

        END IF;

END LOOP;

      WHILE condition LOOP

        Sequence_of_statements;

END LOOP;

 

FOR counter INlower_bound..higher_bound LOOP

        Sequence_of_statements;

END LOOP;

 

6、            子程序:

存储过程:

        CREATE PROCEDURE 过程名 (参数说明1,参数说明2, 。。。) IS

               [局部说明]

        BEGIN

               执行语句;

        END 过程名;

 

存储函数:

        CREATE FUNCTION 函数名 (参数说明1,参数说明2, 。。。)

RETURN 类型 IS

               [局部说明]

        BEGIN

               执行语句;

                     END 函数名;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值