PL/SQL块

·  介绍

   块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上就是编写pl/sql块。要完成相对简单的应用功能,可能只需要编写一个pl/sql块 ;  但是如果要想实现复杂的功能,可能需要在一个pl/sql块中嵌套其它的pl/sql块

 

 

·  块结构

   块有三部分组成

         块 = 定义部分 + 执行部分 + 例外部分

    declear

       /*定义部分------------定义常量、变量、游标、例外、复杂数据类型*/

    begin

       /*执行部分------------要执行的pl/sql语句和sql语句*/

    exception

       /*例外处理部分-------处理执行的各种错误*/

    end;

 

定义部分  +  例外部分  =   可选的

执行部分                         必须的

 

·  和JAVA程序做个简单比较

·  实例1

   set serveroutput on/off --打开/关闭输出选项

   begin

           dbms_output.put_line('Hello World');

   end;

   ♀  相关说明

        dbms_output是oracle所提供的包   包下就只有函数和过程

·   实例2

    declare

            v_ename  varchar2(5) ; --定义字符串变量

            v_sal  number(7 , 2) ; --定义字符串变量

    begin

            select ename , sal into v_ename , v_dal from emp where empno=&no;--地址符表示编号控制台输入

            dbms_output.put_line('雇员名:'||v_ename||'工资:'||v_sal);

    end;

   ♀  相关说明

·   实例3

    增加了例外部分

    ●比如实例2中输入的编号不存在怎么办?

    ●有时候出现异常有其它的逻辑来处理

      declare
            v_ename  varchar2(5) ; --定义字符串变量
            v_sal  number(7 , 2) ; --定义字符串变量
      begin
            select ename , sal into v_ename , v_sal from emp where empno=&no;--地址符表示编号控制台输入
            dbms_output.put_line('雇员名:'||v_ename||'工资:'||v_sal);
      exception
            when no_data_found then
            dbms_output.put_line('朋友,你的编号输入有误!!');
      end;

        &  表示接收从控制台输入变量

            Oracle事先预定义了一些例外,no_data_found就是找不到数据的例外

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值