二、pl/sql过程
过程用于执行特定的操作。当建立过程时,即可以指定输入参数(in),也可以指定输出参数(out)。通过在过程中使用输入参数,可以将数据传递到执行部分;通过输出参数,可以将执行部分的数据传递到应用环境。
可以使用create or replace procedure命令来创建过程。
实例1
①请编写一个过程,可以输入雇员名,新工资,用以修改该雇员的工资 ②如何调用过程?(2种方法) ---> exec、call ③如何在java、.net中调用储存过程 create or replace procedure(name varchar2, newSal number) example3 is --定义变量部分放在is和begin之间 begin --执行部分 --根据用户名修改工资 update emp set sal=newSal where ename=name; end; |
三、函数
函数用于返回特定的数据(一般返回一个值)。当建立函数时,函数头部必须包含return子句,而在函数体内必须包含return语句返回的数据。
可以使用create function命令来建立函数。
实例1
--函数案例 --输入雇员的姓名,返回该雇员的年薪 create function GetYearSal(name varchar) return --返回值的定义部分 number is yearSal number(7,2); begin --执行部分 select sal*12+nvl(comm,0)*12 into yearSal from emp where ename=name; --nvl()函数表示如果comm为null,则赋值为0 return yearSal; end; 在sqlplus中调用函数的步骤: sql>var income number sql>call GetYearSal('SCOTT') into:income sql>print income |
四、触发器
触发器是指隐含执行的存储过程。当定义触发器时,必须要指定触发的工作和触发的操作,常用的触发事件包括insert、update、delete语句,而触发操作实际就是一个pl/sql块。
可以使用create trigger命令建立触发器。
说明:触发器是非常有用的,可以维护数据库的安全性和一致性。