文档介绍:第7讲 PL/SQL 块的结构和实例
PL/SQL 块的结构和实例介绍
学习目标
理解oracle 的pl/sql 概念
掌握pl/sql 编程技术(包括编写过程、函数、触发器...)
pl/sql 的介绍
pl/sql 是什么
pl/sql(procedural language/sql)是oracle 在标准的sql 语言上的扩展。
pl/sql 不仅允许嵌入sql 语言,还可以定义变量和常量,允许使用条件语句和
循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。
PL/SQL 块的结构和实例
学习必要性
【分页的过程,订单的过程,转账的过程。。】
(sql 会包括表名,有时还可能有密码,传输的时候会泄露。PL/SQL
就不会)
为什么PL/SQL 会快呢?
不好的地方:
移植性不好(换数据库就用不了)
PL/SQL 块的结构和实例
sqlplus 开发工具
sqlplus 是oracle 公司提供的一个工具,这个因为我们在以前介绍过的:
举一个简单的案例:
编写一个存储过程,该过程可以向某表中添加记录。
一个简单的存储过程
CREATE OR REPLACE PROCEDURE proc_helloworldISBEGIN   ('Hello World!');END;/
PL/SQL 块的结构和实例
需要在屏幕上显示出""的输出字符串,需要做一个小小的设置SQL> show serveroutputserveroutput OFF SQL >set serveroutput on SQL > show serveroutput ON SIZE 10000 FORMAT WORD_WRAPPED
Sql 代码
1. create table mytest(name varchar2(30),passwd varchar2(30));
PL/SQL 块的结构和实例
Sql 代码
1. create or replace procedure sp_pro1 is
2. begin--执行部分
3. insert into mytest values(‘杨世顺','m1234');
4. end;
5. /
replace:表示如果有sp_pro1,就替换
如何查看错误信息:show error;
如何调用该过程:
1)exec 过程名(参数值1,参数值2...);SQL执行
2)call 过程名(参数值1,参数值2...);程序调用
PL/SQL 块的结构和实例
pl/sqln developer开发工具
pl/sql developer 是用于开发pl/sql 块的集成开发环境(ide),它是一个独立
的产品,而不是oracle 的一个附带品。
举一个简单案例:
编写一个存储过程,该过程可以删除某表记录。
Sql 代码
1. create or replace procedure sp_pro2 is
2. begin--执行部分
3. delete from mytest where name='杨世顺';
4. end;
PL/SQL 块的结构和实例
pl/sql 基础
pl/sql 介绍
开发人员使用pl/sql 编写应用模块时,不仅需要掌握sql 语句的编写方法,
还要掌握pl/sql 语句及语法规则。pl/sql 编程可以使用变量和逻辑控制语句,
从而可以编写非常有用的功能模块。比如:分页存储过程模块、订单处理存储过
程模块、转账存储过程模块。而且如果使用pl/sql 编程,我们可以轻松地完成
非常复杂的查询要求。
pl/sql 可以做什么
简单分类
过程(存储过程)
函数
块(编程)
触发器
包
PL/SQL 块的结构和实例
编写规范
编写规范n
单行注释--
Sql 代码
1. select * from emp where empno=7788; --取得员工信息
多行注释/*...*/来划分
1).当定义变量时,建议用v_作为前缀v_sal
2).当定义常量时,建议用c_作为前缀c_rate
3).当定义游标时,建议用_cursor 作为后缀emp_cursor
4).当定义例外时,建议用e_作为前缀e_error
PL/SQL 块的结构和实例
pl/sql 块介绍
介绍n
块(block)是pl/sql 的基本程序单元,编写pl/sql 程序实际上就是编写
pl/sql 块,要完成相对简单的应用功能,可