重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成
创新互联-专业网站定制、快速模板网站建设、高性价比桂林网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式桂林网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖桂林地区。费用合理售后完善,10余年实体公司更值得信赖。
1.创建包
--创建一个包sp_package
create package sp_package is
--声明该包有一个过程和函数,(没有实现)
procedure update_sal(name varchar2,newsal number);
function annual_nicome(name varchar2) return number;
end;
--创建包体(用于实现已经声明的函数和过程)
create package body sp_package is
procedure update_sal(name varchar2,newsal number)
is
BEGIN
UPDATE emp
SET sal = newsal
WHERE ename = name;
END;
function annual_income(name varchar2)
return number is
annual_salary number;
BEGIN
SELECT sal * 12 + Nvl(comm,0)
INTO annual_salary
FROM emp
WHERE ename = name;
RETURN annual_salary;
END;
end;
--调用包中的内容
exec sp_package.update_sal('name',number);
包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成
1.创建包
--创建一个包sp_package
create package sp_package is
--声明该包有一个过程和函数,(没有实现)
procedure update_sal(name varchar2,newsal number);
function annual_nicome(name varchar2) return number;
end;
--创建包体(用于实现已经声明的函数和过程)
create package body sp_package is
procedure update_sal(name varchar2,newsal number)
is
BEGIN
UPDATE emp
SET sal = newsal
WHERE ename = name;
END;
function annual_income(name varchar2)
return number is
annual_salary number;
BEGIN
SELECT sal * 12 + Nvl(comm,0)
INTO annual_salary
FROM emp
WHERE ename = name;
RETURN annual_salary;
END;
end;
--调用包中的内容
exec sp_package.update_sal('name',number);
pl/sql
里面定义的包在调用的时候使用exec
命令调用,例如:exec
package_name.过程名()
过程名():包体里面定义的公用过程。
不知道我的回答你清楚了吗?