Oracle数据库中的程序包练习
1.在一个包中定义两个重载的方法,两个方法作用都是求一个数到另一个数的和并将和返回,方法申明如下:
//包头
create or replace package pack1
as
function getSum(endNumber int) return int;
function getSum(endNumber int,beginNumber int) return int;
end pack1;
//包体
create or replace package body pack1
as
function getSum(endNumber int) return int
as
sum1 int:=0;
begin
for i in 1..endNumber loop
sum1:=sum1+i;
end loop;
return sum1;
end getSum;
function getSum(endNumber int,beginNumber int) return int
as
sum2 int:=0;
begin
for i in beginNumber..endNumber loop
sum2:=sum2+i;
end loop;
return sum2;
end getSum;
end pack1;
function getSum(endNumber int) return int;
没有指定开始值,直接求1到endNumber的和并返回
declare
endNumber int;
n int;
begin
endNumber:=&请输入一个数;
n:=pack1.getSum(endNumber);
dbms_output.put_line('1到'||endNumber||'的和为:'||n);
end;
function getSum(endNumber int,beginNumber int) return int;
求beginNumber到endNumber的和并返回
declare
endNumber int;
beginNumber int;
n int;
begin
endNumber:=&请输入第一个数;
beginNumber:=&请输入第二个数;
n:=pack1.getSum(endNumber,beginNumber);
dbms_output.put_line(beginNumber||'到'||endNumber||'的和为:'||n);
end;