oracle数据库中 触发器,Oracle数据库中的函数,包和触发器

在pL/Sql developer工具左侧选择ldquo;Functionrdquo;,右键新建就行。在弹出的框中输入函数名和返回值(返回值是必须的),参数

函数:

函数和存储过程非常的相似,唯一的不同就是函数具有返回值。而存储过程是没有返回值的。

函数的定义:

在pL/Sql developer工具左侧选择“Function”,右键新建就行。在弹出的框中输入函数名和返回值(返回值是必须的),参数可以不写。定义如下,创建一个无参的函数:

/**

函数和存储过程非常的相似,唯一的不同的就是函数有返回值。

**/

create or replace function firstFun return varchar2

is

begin

return 'Hello World';

end firstFun;

创建一个有参数的函数:

/**

计算年薪是多少?

**/

create or replace function paramFun(salary number) return number

is

begin

return salary*12;

end paramFun;

在begin中的写法和存储过程一样。

函数的运行和存储过程的一样。

包的介绍:

包的组成:

包头(package):包头部分申明包内数据类型,,常量,变量,游标,子程序和异常错误处理,这些元素为包的公有元素。

包主体(package body):包主体则是包定义部分的具体实现,它负责为包头中所声明子程序提供具体的实现,在包主体中还可以声明包的私有元素。

包头和包主体分开编译,并作为两个分开的对象分别存放在数据库字典中。

创建方法:

在开发工具PL/SQL Developer左侧有Packages右键点击新建。输入name值,创建包。会出现两个编辑框。一个是头一个是主体,区别图标不一样。

一个简单的入门案例:

/**

这里是包头,主要是对数据的定义

**/

create or replace package firstPack is

--定义一个变量

v_bonus number:=200;

--定义一个函数

function yearSalary(salary number) return number;

--定义一个存储过程

procedure myrop;

end firstPack;

/**

包主体:对申明的实现

计算年薪

年薪=月薪*12+奖金

**/

create or replace package body firstPack is

--对包头申明函数的实现

function yearSalary(salary number) return number

is

begin

return salary*12+v_bonus;--这里用到了前面申明的变量

end;

--对存储过程的实现

procedure myrop is

begin

--向学生表插入一条数据

insert into tab_stu(stu_id,stu_name,stu_age,class_id) values(9,'凯南',21,2);

commit;

end;

end firstPack;

接下来请看第2页精彩内容:

相关阅读:

Oracle触发器的使用

Oracle触发器给表自身的字段重新赋值出现ORA-04091异常

Oracle创建触发器调用含参数存储过程

Oracle触发器查询统计本表

MySQL 触发器应用案例

logo.gif 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值