网站建设资讯

NEWS

网站建设资讯

oracle如何调用包体,oracle编译包体

如何调用ORACLE程序包中的存储过程

pl/sql里,select

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网页空间、营销软件、网站建设、永平网站维护、网站推广。

语句必须接into

,不接into那就得返回一个游标出去,比如

create

or

replace

package

test_package

is

procedure

query_test(num

number,po_cursor

out

sys_refcursor);

end

test_package;

create

or

replace

package

body

test_package

is

procedure

query_test(num

number,po_cursor

out

sys_refcursor)

is

begin

select

unitname,tradetype,workernumber

from

test

where

income=num;

end

query_test;

end

test_package;

如何建立oracle包,如何调用包的过程或是函数

包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成

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);

oracle package body怎么执行啊?

包只是作为 程序的一个载体而已,你要运行,当然是去调用它!

包里面可以包含函数、过程等,你可以开发程序时候调用包里面的这些程序!没有听说过包怎么运行的道理!

就像电视机(包)可以用来看电视,但是你不去打开它(调用包),它就没有作用!

楼下的明显误导别人啊,包何来参数之说?只有包里面的程序才有参数,调用包里面过程的方法如下:

begin

exec 包名.过程名();

end;

函数的调用就不用我写了吧!

Oracle PLSQL怎么用调用函数包

pl/sql 里面定义的包在调用的时候使用exec 命令调用,例如:exec package_name.过程名()

过程名():包体里面定义的公用过程。

不知道我的回答你清楚了吗?

ORACLE包体中调用另一个包体的方法

包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成

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);


本文名称:oracle如何调用包体,oracle编译包体
文章位置:http://cdweb.net/article/dscccco.html