<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    隨筆-230  評(píng)論-230  文章-8  trackbacks-0

    oracle 存儲(chǔ)過程返回?cái)?shù)組的方法:
    1.建立包
    create or replace package test is
    TYPE filename_array IS TABLE OF varchar2(1);
    ?filename filename_array;
    end test;
    2. 建立存儲(chǔ)過程
    create or replace procedure test_array(v_cfjg out test.filename_array ) is
    begin DECLARE i number;
    D_cfjg dic_cfjg%rowTYPE;
    -- D_nr dic_cfjg%rowTYPE;
    cursor c1 is SELECT * FROM dic_cfjg;
    BEGIN
    i:=0;
    v_cfjg := test.filename_array(); --數(shù)組初始化

    open c1;
    LOOP fetch c1 into D_cfjg;
    EXIT WHEN c1%NOTFOUND ;
    i:=i+1;
    v_cfjg.EXTEND;
    -- DBMS_OUTPUT.PUT_LINE(TO_CHAR(D_cfjg.dm));
    v_cfjg(v_cfjg.count):=D_cfjg.dm;
    DBMS_OUTPUT.PUT_LINE(v_cfjg(v_cfjg.count));
    -- 測(cè)試
    -- FETCH C1 INTO D_cfjg;
    -- EXIT WHEN c1%NOTFOUND ;
    END LOOP;
    end;
    EXCEPTION
    WHEN TOO_MANY_ROWS THEN
    DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
    WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(sqlerrm);
    end test_array;

    ===========================

    Java 調(diào)用PL/SQL Returning Object Array

    上次寫了oracle 存儲(chǔ)過程返回?cái)?shù)組的方法。這次實(shí)現(xiàn)在java調(diào)用返回值是數(shù)組的存儲(chǔ)過程方法。

    1. 數(shù)組:CYJ_ARRAY

    CREATE OR REPLACE TYPE CYJ_ARRAY is VARRAY(20) OF integer

    2. 存儲(chǔ)過程:getTestArray()

    CREATE OR REPLACE FUNCTION getTestArray RETURN CYJ_ARRAY
    AS
    ? l_test CYJ_ARRAY :=CYJ_ARRAY();

    ?? begin
    ??? FOR i IN 1..10 LOOP
    ????? l_test.extend;
    ????? l_test(l_test.count) := i;
    ????? dbms_output.put_line(l_test(l_test.count));
    ??? END LOOP;
    ??? RETURN? l_test;
    ? END;
    3. 調(diào)用存儲(chǔ)過程的java 類

    public class TestOracleReturnArray? {
    ?

    public static void main(String[] args) throws SQLException {
    ?Connection conn = null;
    ?CallableStatement cstmt = null;
    ?ResultSet rs = null;
    ?try {
    ??
    ??DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    ??conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora","zzz","sss");
    ??
    ??conn.setAutoCommit(false);
    ??String procedure = "{? = call getTestArray() }";// 調(diào)用存儲(chǔ)過程
    ??cstmt = conn.prepareCall(procedure);
    ??cstmt.registerOutParameter(1, OracleTypes.ARRAY,"CYJ_ARRAY"); //注:type name:區(qū)分大小,不是包中的type, 使用包中定義的type如何調(diào)用還不知道
    ??
    ??cstmt.execute();
    ??ARRAY array = (ARRAY)cstmt.getObject(1);
    ??Object[] items = (Object[])array.getArray();
    ??Object obj;
    ??
    ??for (int i = 0; i < items.length; i++) {
    ??? obj = items[i];
    ???
    ???System.out.println(obj);
    ???
    ???} // for
    ?} catch (Exception e) {
    ??e.printStackTrace();
    ?} finally {
    ??//DbConnRestore.connRestore(rs, cstmt, null, conn);
    ?}
    }

    }

    參考如下資料:

    http://www.oracle.com/technology/global/cn/sample_code/tech/java/codesnippet/jdbc/varray/index.html

    posted on 2006-11-03 11:24 有貓相伴的日子 閱讀(2016) 評(píng)論(0)  編輯  收藏 所屬分類: pl/sql
    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    主站蜘蛛池模板: 114级毛片免费观看| 外国成人网在线观看免费视频| 亚洲精品二三区伊人久久| 亚洲精品国产福利片| 亚洲日本乱码卡2卡3卡新区| 99亚洲男女激情在线观看| 男女啪啪免费体验区| 暖暖在线视频免费视频| 成人毛片18女人毛片免费视频未| 免费一看一级毛片人| 亚洲成AV人片在线观看无码| 亚洲国产高清美女在线观看| 免费亚洲视频在线观看| 永久黄色免费网站| 亚洲一级毛片免费观看| 久久久受www免费人成| 久草视频免费在线观看| 亚洲区不卡顿区在线观看| 亚洲综合一区二区国产精品| 亚洲成AV人片高潮喷水| 男人j进入女人j内部免费网站| 久久久无码精品亚洲日韩蜜桃| 香蕉视频亚洲一级| 在线日韩日本国产亚洲| 亚洲欧美成人一区二区三区| 久久久久久一品道精品免费看| 亚洲人成网站影音先锋播放| 国产精品免费久久久久电影网| 毛片免费视频播放| 亚洲男人的天堂www| 日韩久久无码免费毛片软件| 亚洲女久久久噜噜噜熟女| 黄瓜视频影院在线观看免费| 亚洲av永久无码精品网站 | 亚洲成人免费在线| 思思re热免费精品视频66| 国产综合激情在线亚洲第一页| 亚洲精品无码久久久久| 国产免费福利体检区久久| 亚洲视频在线免费看| 香蕉免费一区二区三区|