Oracle(20)pl/sql编程 过程、函数、包以及触发器概念
2017-04-08 16:41
661 查看
①过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out),默认是输入参数。通过在过程中使用输入参数,可以将数据传递到执行部分;通过使用输出参数,可以将执行部分的数据传递到应用环境。
②调用方式
exec 过程名(参数值…)
call 过程名(参数值…)
用于返回特定的数据,当建立函数时,在函数头部必须包含return子句,而在函数体内必须包含return语句返回的数据。
②实例
用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。
②实例
是指隐含的执行的存储过程。当定义触发器时,必须指定触发的事件和触发的操作,常用的触发事件包括insert,update,delete语句,而触发操作实际就是一个pl/sql块。可以使用create trigger来建立触发器。
②调用方式
exec 过程名(参数值…)
call 过程名(参数值…)
create or replace procedure pro5(in_ename in varchar2, in_new_sal in number) is begin update emp set sal=in_new_sal where ename = in_ename; end; /
——————————————————————————————-
①函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句,而在函数体内必须包含return语句返回的数据。
②实例
---- 创建一个函数,并带有一个返回值 create or replace function fun1(in_v_ename varchar2) return number is v_annual_sal number; begin select (sal+nvl(comm, 0))*13 into v_annual_sal from emp where ename=in_v_ename; return v_annual_sal; end; / ----- 调用函数 select fun1('SMITH') from dual;
——————————————————————————————-
①包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。
②实例
---------------- 包 ---------------- create or replace package mypackage1 is --声明一个过程 procedure pro1(v_in_ename varchar2, v_in_newsal number); --声明一个函数 function fun1(v_in_ename varchar2) return number; end; / ------ 包体 其中的方法需在包中声明,否则无法使用 -------- create or replace package body mypackage1 is --实现过程 procedure pro1(v_in_ename varchar2, v_in_newsal number) is begin update emp set sal=v_in_newsal where ename=v_in_ename; end; --实现函数 function fun1(v_in_ename varchar2) return number is v_annual_sal number; begin select (sal+nvl(comm,0))*13 into v_annual_sal from emp where ename = v_in_ename; return v_annual_sal; end; end; ---------------- 包调用 ---------------- exec mypackage1.pro1('SMITH', 2);
——————————————————————————————-
①触发器是指隐含的执行的存储过程。当定义触发器时,必须指定触发的事件和触发的操作,常用的触发事件包括insert,update,delete语句,而触发操作实际就是一个pl/sql块。可以使用create trigger来建立触发器。
相关文章推荐
- 转帖:ORACLE PL/SQL编程之八: 把触发器、过程、函数说透
- ORACLE PL/SQL编程之六:把过程与函数说透
- ORACLE PL/SQL编程之六:把过程与函数说透
- ORACLE PL/SQL编程详解之六:把过程与函数说透
- oracle中pl/sql编程---存储过程,函数,触发器,包
- ORACLE PL/SQL编程之把过程与函数说透
- ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
- oracle(3)pl/sql编程基础 存储过程、函数、包、触发器
- Oracle PL/SQL编程之六: 把过程与函数说透
- ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!)
- ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
- 【传智播客郑州校区】Java,PL/SQL调用 ORACLE存储函数以及存储过程
- ORACLE PL/SQL编程之六:把过程与函数说透
- PL/SQL(Procedural Language/SQL)编程简介 游标,过程,函数,包,触发器
- ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
- ORACLE PL/SQL编程之六:把过程与函数说透
- ORACLE PL/SQL编程之六:把过程与函数说透
- ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
- ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
- ORACLE PL/SQL编程之八:把触发器说透