如何调用oracle包 oracle调用包里的存储过程

如何建立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
SETsal = newsal
WHEREename = name;
END;
function annual_income(name varchar2)
return number is
annual_salary number;
BEGIN
SELECT sal * 12Nvl(comm,0)
INTOannual_salary
FROMemp
WHEREename = name;
RETURN annual_salary;
END;
end;
--调用包中的内容
exec sp_package.update_sal('name',number);
Oracle PLSQL怎么用调用函数包pl/sql 里面定义的包在调用的时候使用exec 命令调用如何调用oracle包 , 例如如何调用oracle包:execpackage_name.过程名()
过程名():包体里面定义的公用过程 。
【如何调用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 package body怎么执行?。?/h2>包只是作为 程序的一个载体而已,你要运行,当然是去调用它!
包里面可以包含函数、过程等,你可以开发程序时候调用包里面的这些程序!没有听说过包怎么运行的道理!
就像电视机(包)可以用来看电视,但是你不去打开它(调用包),它就没有作用!
楼下的明显误导别人啊 , 包何来参数之说?只有包里面的程序才有参数,调用包里面过程的方法如下:
begin
exec 包名.过程名();
end;
函数的调用就不用我写了吧!
请教如何在java代码中调用oracle包中的存储import java.sql.*;
import java.sql.ResultSet;
public class TestProcedureOne {
public TestProcedureOne() {
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
CallableStatement cstmt = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl,"orcl","orcl");
CallableStatement proc = null;
proc = conn.prepareCall("{ call orcl.package.procedure(?,?)}");
proc.setString(1, "100");
proc.setString(2, "TestOne");
proc.execute();//执行
}
catch (SQLException ex2) {
ex2.printStackTrace();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally{
try {
if(rs != null){
rs.close();
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}
catch (SQLException ex1) {
}
}
}
}
oracle 调用包里的PROCEDUREoracle不支持带参数视图,但如何调用oracle包你如何调用oracle包的包已经有设参数和传参数的方法如何调用oracle包了,那如何调用oracle包你从视图里拿数据就调用包的设参数的方法就可以如何调用oracle包了.
select * from view_student1 where PKG_REPORT.SET_VALUE( '2012-12-20') = '2012-12-20'
这样当执行上SQL的时候SET_VALUE方法会把参数传进去,然后你的视图通过GET_VALUE方法获得参数.
关于如何调用oracle包和oracle调用包里的存储过程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读