189 8069 5689

oracle包程序怎么,oracle包的作用

怎么调用oracle里的包

在存储过程或函数里调用oracle包的话,首先要有执行这个包的权限;如果包属于其他的用户(不是系统包),调用时:用户名.包名.存储过程(参数)名或者

创新互联是一家专业从事做网站、网站建设、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,创新互联依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!

变量:=用户名.包名.函数(参数);因为函数有返回值,变量类型要跟函数返回值的类型一致。

在command

下调用的话:exec

用户名.包名.存储过程名(参数);select

用户名.包名.函数名(参数)

from

dual;就可以了。包属于当期用户可以不写用户名。

Oracle中的package 怎么用

先create package,在里面声明procedure

然后再create package body,在package body里面编写procedure的代码即可(相当于create procedure)。

包里没有create procedure

示例如下:

CREATE OR REPLACE PACKAGE pkg_test IS

PROCEDURE pro_test(V_OLD IN VARCHAR2,V_NEW IN VARCHAR2);

...

END test;

/

CREATE OR REPLACE PACKAGE BODY pkg_test IS

...

PROCEDURE pro_test(V_OLD IN VARCHAR2,V_NEW IN VARCHAR2) IS

BEGIN

...

END;

...

END pkg_test;

oracle 数据库包怎么运行

如果你使用界面的话,就直接双击图标,如果使用脚本的话,就从开始程序里打开Oracle plus

,这两者都要保证你的服务是否启动,一般启动最后两个就可以

1.cmd进入命令行 lsnrctl start 启动监听服务,看出现什么错误

如果没有错误,察看数据库是否可以正常进行连接

2.看下你电脑是不是装了防火墙 先把防火墙禁止掉去

3.去orant\net80\trace\看看,一般有错都会在那里产生一个.log文件

如何调用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 有没有快速解锁程序包的办法

一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。

1.下面的语句用来查询哪些对象被锁:

select object_name,machine,s.sid,s.serial#

from v$locked_object l,dba_objects o ,v$session s

where l.object_id = o.object_id and l.session_id=s.sid;

2.下面的语句用来杀死一个进程:

alter system kill session '24,111'; (其中24,111分别是上面查询出的sid,serial#)

【注】以上两步,可以通过Oracle的管理控制台来执行。

3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:

select spid, osuser, s.program

from v$session s,v$process p

where s.paddr=p.addr and s.sid=24 (24是上面的sid)

4.在OS上杀死这个进程(线程):

1)在unix上,用root身份执行命令:

#kill -9 12345(即第3步查询出的spid)

2)在windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:

orakill sid thread

其中:

sid:表示要杀死的进程属于的实例名

thread:是要杀掉的线程号,即第3步查询出的spid。

例:c:orakill orcl 12345

如何建立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://cdxtjz.cn/article/hesjge.html

其他资讯