oracle存储过程没有返回值,Oracle 无返回值的存储过程

PL/SQL分页

分页技术的实现:

分页是任何一个网站(bbs,网上商城,blog)都会使用到的技术,因此学习pl/sql编程开发就一定要掌握该技术。

无返回值的存储过程

古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解。首先是掌握最简单的存储过程,无返回值的存储过程:

案例:现有一张表book,表结构如下:看图:

0818b9ca8b590ca3270a3433284dd417.png

书号 书名 出版社

请写一个过程,可以向book表添加书,要求通过java程序调用该过程。

--in:表示这是一个输入参数,默认为in

--out:表示一个输出参数

Sql代码

书号 书名 出版社

请写一个过程,可以向book表添加书,要求通过java程序调用该过程。

--in:表示这是一个输入参数,默认为in

--out:表示一个输出参数

Sql代码

CREATE OR REPLACE PROCEDURE sp_pro7

(

spBookId IN NUMBER,

spbookName IN VARCHAR2,

sppublishHouse IN VARCHAR2)

IS

BEGIN

INSERT INTO book VALUES(spBookId,spbookName,sppublishHouse);

END;

可以先看看过程结构:是否创建成功

SELECT * FROM ALL_SOURCE A WHERE A.name = 'sp_pro7';

查询结果如下:

0818b9ca8b590ca3270a3433284dd417.png

当然,在此之前必须先创建一张表book

----------------在java中调用

package com.wfc.test;

//调用一个无返回值的过程

import java.sql.*;

public class Test2{

public static void main(String[] args){

Connection ct=null;

CallableStatement cs=null;

try{

//1.加载驱动

Class.forName("oracle.jdbc.driver.OracleDriver");

//2.得到连接

ct = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");

//3.创建CallableStatement

cs = ct.prepareCall("{call sp_pro7(?,?,?)}");

//4.给?赋值

cs.setInt(1,10);

cs.setString(2,"笑傲江湖");

cs.setString(3,"人民出版社");

//5.执行

cs.execute();

} catch(Exception e){

e.printStackTrace();

} finally{

//6.关闭各个打开的资源

try {

cs.close();

ct.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}红字的地方要注意,很容易写错!

对于驱动不需要下载,Oracle安装目录里面自带的有!

0818b9ca8b590ca3270a3433284dd417.png

运行的结果:

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值