Oracle基本操作十三:函数和包

--函数和包:位于文件夹function中
--函数:和存储过程类似,但是函数有返回值,且其参数只能是in,而不能是out或in out
--举例一.1:创建无参的函数
create or replace function firstFun return varchar2 
is
begin
   return 'HelloWorld';
end firstFun;
--举例一.2:调用
begin
  dbms_output.put_line(firstFun());
end;
--举例二.1:创建有参的函数--根据月薪计算年薪
create or replace function yearSal(v_sal number) return number  
is
begin
   return v_sal*12;
end firstFun;
--举例二.2:调用
declare
  v_sal number;
begin
  select sal into v_sal from scott.emp wher empno='7369';
  dbms_output.put_line(yearSal(v_sal));
end;


--包:包相当于类,变量相当于成员变量,过程、函数相当于方法。位于文件夹package中
--包组成:包头-定义,包体-实现
--举例一.1:创建包头
create or replace fkpackage is 
   i constant number:=100;--定义常量
   v_comm number:=200;--定义变量-每月奖金200
   function yearfun(v_sal number) return number;--定义函数,有返回值 
   procedure mypro;--定义过程,无返回值
end fkpackage;
--举例一.2:创建包体
create or replace package body fkpackage is
   --函数
   function yearfun(v_sal number) return number is
   begin
     return (v_sal,v_comm)*12;
   end;
   --过程
   procedure my pro is 
   begin
     --可以向表中插入数据
   end;
end fkpackage;
--举例一.3:调用包
declare
   v_sal number;
begin
   --其它操作
   dbms_out.put_line(fkpackage.yearfun(v_sal));
   fkpackage.mypro;
end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值