Oracle_Day11(存储函数、触发器、包、数据库管理和设计、数据库设计)

这篇博客详细介绍了Oracle数据库的存储函数、触发器、包的使用和数据库管理设计。讨论了存储函数的语法、调用方式和异常处理,触发器的类型和应用,以及包的定义和执行。此外,还涵盖了数据库备份的冷备份和热备份方法,以及数据导入导出的操作。最后,探讨了数据库设计的范式和数据建模的重要性。
摘要由CSDN通过智能技术生成

Oracle_Day11(存储函数、触发器、包、数据库管理和设计、数据库设计)

存储函数:

语法:

Create  or  replace function 函数名(参数  in/out  数据类型) return  数据类型  is
	结果变量 数据类型;
	Begin
		函数体;
		Return(结果变量);
	End

存储过程和函数的区别:

一般来讲,过程和函数的区别在于函数可以有一个返回值,而过程是没有返回值的。
但是,过程和函数都可以通过out指定一个或多个输出参数,在其中我们也可以利用out参数,在过程和函数中实现返回值的操作。
--使用函数来查询指定员工的年薪
create  or replace function empincome (eno in emp.empno%type) 
return number--指定返回值 的类型
is psal emp.sal%type;--我们返回结果的时候 结果的保存变量
   pcomm emp.comm%type;
 begin
    select sal,comm into psal,pcomm from emp where  empno = eno;
    return psal * 12 +nvl(pcomm,0);
 end empincome;

调用函数:

declare
  income number;
 begin
  income := empincome(7369);
  dbms_output.put_line(income);
 end;

存储过程的实现,使用out参数来返回结果:

create or replace procedure empincomepro(eno  in emp.empno%type,income out number) 
   is 
       psal emp.sal%type;
       pcomm emp.comm%type;
   begin
     select sal,comm into psal,pcomm from emp where empno =eno;
     income :=psal * 12 + nvl(pcomm,0);
     
   end empincomepro;

存储过程的调用:

declare
  income number;
begin
 empincomepro(7369,income);
 dbms_output.put_line(income);
end;

传参方式:

  1. 位置传参
declare
  income number;
begin
 empincomepro(7369,income);
 dbms_output.put_line(income);
end;
  1. 名称传参
declare
  income number;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值