oracle 创建package 以及对其中的存储过程的调用

一、创建package:

create or replace
 

package test1
 
is 
  procedure  my;
  
  end;

 

二、创建package body:

create or replace 


package body test1

  is 
  procedure my
  is 
  begin 
  dbms_output.put_line('test');
  end my;
 
 end test1;

三、调用 package下的存储过程:

begin

  test1.my;
  
end ;   

然后就在DBMS输出中看到 存储过程已经调用。

在pl/sql develper中 选中 存储过程,点test ,显示如下:

begin

 call test1.my;

end;

 

在java中调用存储过程:

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import com.wa.sql.oracle.utils.DBUtils;
public class Procedure {
 
   public static void main(String[] args) throws SQLException {
  
    Connection connection =DBUtils.getConnect();
    
    CallableStatement statement =connection.prepareCall("{call test1.my}");
    statement.execute();
   
    DBUtils.closeConnection(connection);
 }
}

 

二、对有参数的存储过程的调用:

--创建存储过程
create or replace procedure 
param_pro (age number , outage out number )
is
begin 
outage := age +1000;
end param_pro;



--sql 中调用 
declare
str number;
begin 
param_pro(10,str);
dbms_output.put_line(str);
end;

二、Java中调用:

public class Procedure {
 
   public static void main(String[] args) throws SQLException {
  
    Connection connection =DBUtils.getConnect();
    
    CallableStatement statement =connection.prepareCall("{call param_pro(?,?)}");
    // 第一个参数赋值
    statement.setInt(1,200);
    //输出参数的类型
    statement.registerOutParameter(2,java.sql.Types.INTEGER);
    //执行存储过程
    statement.execute();
    //获取输出结果
   System.out.println(statement.getInt(2));
    DBUtils.closeConnection(connection);
 }
}

运行程序后控制台输出 :1200 ,程序正常!

转载于:https://my.oschina.net/u/2001537/blog/349270

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值