Oracle存储函数,存储过程,触发器

一、PL/SQL 

(一)什么是 PL/SQL 

PL/SQL(Procedure Language/SQL)是 Oracle 对 sql 语言的过程化扩展,指在 SQL命令语言中增加了过程处理语句(如分支、循环等),使 SQL 语言具有过程处理能力。把 SQL 语言的数据操纵能力与过程语言的数据处理能力结合起来,使得 PLSQL面向过程但比过程语言简单、高效、灵活和实用

Oracle存储函数,存储过程,触发器_第1张图片

Oracle存储函数,存储过程,触发器_第2张图片
 
预定义异常

Oracle存储函数,存储过程,触发器_第3张图片

Oracle存储函数,存储过程,触发器_第4张图片

条件判断 

循环 

游标

1.什么是游标 
游标是系统为用户开设的一个数据缓冲区,存放 SQL 语句的执行结果。我们可以把游标理解为 PL/SQL 中的结果集。

2.语法结构及示例 

使用游标语法 

Oracle存储函数,存储过程,触发器_第5张图片

二、存储函数 

(一)什么是存储函数 
 存储函数又称为自定义函数。可以接收一个或多个参数,返回一个结果。在函数中我们可以使用P/SQL进行逻辑的处理。

(二)存储函数语法结构

Oracle存储函数,存储过程,触发器_第6张图片

三、存储过程 

(一)什么是存储过程 
 存储过程是被命名的 PL/SQL块,存储于数据库中,是数据库对象的一种。应用程序可以调用存储过程,执行相应的逻辑。 
存储过程与存储函数都可以封装一定的业务逻辑并返回结果,存在区别如下: 
 1、存储函数中有返回值,且必须返回;而存储过程没有返回值,可以通过传出参数返回多个值。 
 2、存储函数可以在 select 语句中直接使用,而存储过程不能。过程多数是被应用程序所调用。 
 3、存储函数一般都是封装一个查询结果,而存储过程一般都封装一段事务代码

(二)存储过程语法结构

Oracle存储函数,存储过程,触发器_第7张图片

Oracle存储函数,存储过程,触发器_第8张图片

过程参数的三种模式: 
IN  传入参数(默认) 
OUT 传出参数 ,主要用于返回程序运行结果 
IN OUT 传入传出参数  

1. 创建不带传出参数的存储过程

Oracle存储函数,存储过程,触发器_第9张图片

2 创建带传出参数的存储过程

Oracle存储函数,存储过程,触发器_第10张图片

JDBC 调用存储过程

Oracle存储函数,存储过程,触发器_第11张图片

四、触发器 

(一)什么是触发器 
数据库触发器是一个与表相关联的、存储的 PL/SQL 程序。每当一个特定的数据操作语句(Insert,update,delete)在指定的表上发出时,Oracle 自动地执行触发器中定义的语句序列。

触发器可用于 
 数据确认   
 实施复杂的安全性检查 
 做审计,跟踪表上所做的数据操作等  
 数据的备份和同步  
触发器分类 
 前置触发器(BEFORE)   
 后置触发器(AFTER)   

(二)创建触发器的语法

Oracle存储函数,存储过程,触发器_第12张图片

1. 前置触发器

Oracle存储函数,存储过程,触发器_第13张图片

2. 后置触发器

Oracle存储函数,存储过程,触发器_第14张图片

Oracle存储函数,存储过程,触发器_第15张图片

 

 

你可能感兴趣的:(回顾)