Oracle PL/SQL入门

Oracle PL/SQL入门

为了解决纯SQL语句的缺陷问题,采取了PL/SQL(Procedure Language/Structured Query Language)的方式进行解决。

SQL语句的缺陷有如下几点:

1、不能模块编程;

2、执行速度慢;

3、安全性有问题;

4、浪费带宽。

 

pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展。pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。

 

 

基本介绍

开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则。pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块。

比如:分页存储过程模块、订单管理存储过程模块、转账存储过程模块。而且如果使用pl/sql编程,可以轻松的完成非常复杂的查询要求。

 

 

pl/sql简单分类

块(编程)包含

过程(存储过程)、函数、触发器、包

 

 

编写规范

1、注释

单行注释:--

多行注释:/*...*/来划分

 

2、标识符号的命名规范

1)当定义变量时,建议用v_作为前缀;如:v_sal

2)当定义常量时,建议用c_作为前缀;如:c_rate

3)当定义游标时,建议用_cursor作为后缀;如:emp_cursor

4)当定义例外时,建议用e_作为前缀;如:e_error

 

 

块介绍

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

 

块结构组成:

pl/sql块由三个部分构成:定义部分、执行部分、例外处理部分。

如下所示:

declare

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

begin

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

exception

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

end;

 

 

重要说明:

1、定义部分是从declare开始的,该部分是可选的;

2、执行部分是从begin开始的,该部分是必需的;

3、例外处理部分是从exception开始的,该部分是可选的。

  1. --开发一个只包括执行部分的块  
  2. --set serveroutput on; 设置控制台输出打开  
  3. begin  
  4.   dbms_output.put_line('Hello world');  
  5. end;  
  6. /  

特别说明:在默认情况下,dbms_output.put_line是不输出内容的,需要set serveroutput on;才可输出。


  1. --根据员工编号显示员工名字  
  2. --定义变量的格式是:名称 类型  
  3. --块形式  
  4. --&表示要接收从控制台输入的变量  
  5. --||表示把两个串拼接起来  
  6. declare  
  7.   v_ename varchar2(30);  
  8. begin  
  9.   select ename into v_ename from emp where empno=&empno;  
  10.   dbms_output.put_line('员工名是:' || v_ename);  
  11. end;  
  12. /  

  1. --根据员工编号显示员工名字加上异常处理  
  2. --定义变量的格式是:名称 类型  
  3. --块形式  
  4. declare  
  5.   v_ename varchar2(30);  
  6. begin  
  7.   select ename into v_ename from emp where empno=&empno;  
  8.   dbms_output.put_line('员工名是:' || v_ename);  
  9. exception  
  10.   when no_data_found then  
  11.     dbms_output.put_line('输入错误');  
  12. end;  
  13. /  

为了避免pl/sql程序的运行错误,提高pl/sql的健壮性,应该对可能的错误进行处理


异常的基本语法:

exception

when 异常的名称1 then

//对异常处理的代码

when 异常的名称2 then

//对异常处理的代码

end;

异常处理的作用:

1、可以捕获异常,可以给出明确提示;

2、有时可以利用异常来进行业务处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值