PL/SQL编程(二)

二、pl/sql过程

过程用于执行特定的操作。当建立过程时,即可以指定输入参数(in),也可以指定输出参数(out)。通过在过程中使用输入参数,可以将数据传递到执行部分;通过输出参数,可以将执行部分的数据传递到应用环境。

可以使用create or replace procedure命令来创建过程。

实例1

①请编写一个过程,可以输入雇员名,新工资,用以修改该雇员的工资

②如何调用过程?(2种方法) ---> exec、call

③如何在java、.net中调用储存过程

create or replace procedure(name varchar2, newSal number) example3 is

--定义变量部分放在isbegin之间

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()函数表示如果commnull,则赋值为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命令建立触发器。

说明:触发器是非常有用的,可以维护数据库的安全性和一致性。

原文地址:https://www.cnblogs.com/fanyong/p/2932764.html