Oracle 无返回值的存储过程

                                                     PL/SQL分页

分页技术的实现:

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


无返回值的存储过程

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

书号 书名 出版社 

请写一个过程,可以向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';
查询结果如下: 

当然,在此之前必须先创建一张表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{  
           <span style="color:#CC0000;"> //1.加载驱动  
            Class.forName("oracle.jdbc.driver.OracleDriver");  
            //2.得到连接  
              ct = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");  </span>
              
  
            //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安装目录里面自带的有!




运行的结果:




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值