我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集👈👈
PL/SQL编程
- 本节要点
- PL/SQL介绍
- PL/SQL基础
- 本节目标
- 理解oracle的PL/SQL概念
- 掌握PL/SQL编程技术(包括编写过程、函数、触发器、包…)
PL/SQL介绍
- PL/SQL(Procedural Language/sql)是oracle在标准的sql语言上的扩展。PL/SQL不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。
- 过程、函数、触发器是pl/sql编写的
- 过程、函数、触发器是存放在Oracle中的
- pl/sql是非常强大的数据库过程化语言
- 用pl/sql编写的过程、函数可以在java程序中调用
- 用PL/SQL为什么会提高程序的运行性能
- 传统方式:程序内些SQL语句——>通过链接传到数据库——>数据库编译SQL语句——>执行编译后的SQL语句——>返回结果给程序
- PL/SQL方式:程序传参数调用PL/sql过程——>数据库执行PL/SQL过程——>返回结果给程序
- 学习必要性
- 优点
- 提高应用程序的运行性能
- 模块化的设计思维[各个功能直接封装成过程]
- 减少网络传输量
- 提高安全性
- 缺点
- 移植性不好(更换数据库,所有过程都要重新写)
开发工具
- sqlplus开发工具
- sqlplus是oracle公司提供的一个工具
- 编写过程
- 案例:编写一个存储过程,该过程可以向某表中添加记录
1. 创建一个简单的表 create table mytest(name varchar2(30),passwd varchar2(30)); 2. 创建过程sp_pro1 create procedure sp_pro1 is begin -- 执行部分 insert into mytest values('疯子','m123'); end; -- 如果过程名已存在 解决方法1:更换过程名; 解决方法2:or replace参数(创建或者替换) create or replace procedure sp_pro1 is begin -- 执行部分 insert into mytest values('疯子','m123'); end; -- replace:如果该过程名存在,就替换 -- create or replace: 创建 或 替换
- 案例:编写一个存储过程,该过程可以向某表中添加记录
- 查看过程错误信息
show error;
- 调用过程
- exec 过程名(参数值1,参数值2,…)
- call 过程名(参数值1,参数值2,…)
exec sp_pro1
- pl/sql developer开发工具
PL/SQL基础
-
开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则。pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块。比如:分页存储过程模块、订单处理存储过程模块、转账存储过程模块…而且如果用pl/sql编程,我们可以轻松完成复杂的查询要求
-
简单分类
-
编写规范
-
注释
- 单行注释:–
select ename from emp -- 查询emp表的员工姓名
- 多行注释:/…/
select * from emp /*where empno = '7788' and sal > 3000*/
- 单行注释:–
-
标识符号的命名规范
- 定义变量时,用v_作为前缀:v_sal
- 定义常量时,用c_作为前缀:c_rate
- 定义游标时,用_cursor作为后缀:emp_cursor
- 定义例外时,用e_作为前缀:e_error