隨筆-204  評論-90  文章-8  trackbacks-0
          存儲過程出下:(注:我使用的是oracle 10g)
           
          procedure aaaa(i_vc2mob      in varchar2--用戶號碼
                                   i_NUMSVCID    in PLS_INTEGER default null--SERVICECODEID
                                   i_prodid      in PLS_INTEGER default null--產品ID
                                   i_disordsrc   in PLS_INTEGER, --退定來源
                                   i_disordsrcid in NUMBER--退定來源ID
                                   i_datdisorder in date default sysdate, --退定時間
                                   o_prodid      out PLS_INTEGER, --返回產品ID 
                                   o_level       out PLS_INTEGER, --返回用戶級別
                                   o_flag        out PLS_INTEGER --返回狀態
                                   ) is



          在java中調用正確調用方法:
          {call aaaa('13472622059',1,1,21,4712032059528901,'',?,?,?)}

          如果這樣寫
          {call aaaa('13472622059',1,1,21,4712032059528901,,?,?,?)}
          就報如下異常:
          java.sql.SQLException: ORA-06550: 第 1 行, 第 67 列:
          PLS-00103: 出現符號 ","在需要下列之一時:
           ( - + case mod new not null
             others <an identifier> <a double-quoted delimited-identifier>
             <a bind variable> avg count current exists max min prior sql
             stddev sum variance execute forall merge time timestamp
             interval date
             <a string literal with character set specification>
             <a number> <a single-quoted SQL string> pipe
             <一個帶有字符集說明的可帶引號的字符串文字>
             <一個可帶引號的 SQL 字符串>
          符號 "null" 被替換為 "," 后繼續。

              at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
              at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
              at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:215)
              at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:954)
              at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
              at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
              at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3390)
              at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4223)
              at com.pub.comm.db.DBDeal.callProcedures2(DBDeal.java:36)
              at com.pub.comm.db.Test.<init>(Test.java:15)
              at com.pub.comm.db.Test.main(Test.java:29)

          posted on 2007-12-03 21:07 一凡 閱讀(21945) 評論(0)  編輯  收藏 所屬分類: DATABASE
          主站蜘蛛池模板: 黄大仙区| 温宿县| 剑河县| 德钦县| 乌鲁木齐市| 新蔡县| 宣城市| 吴川市| 岫岩| 海宁市| 常熟市| 邹城市| 炉霍县| 息烽县| 香格里拉县| 花莲县| 新和县| 西吉县| 安多县| 阳谷县| 姜堰市| 甘谷县| 丹江口市| 永川市| 南陵县| 安康市| 乐业县| 敦化市| 棋牌| 抚州市| 阳西县| 游戏| 东莞市| 女性| 屯留县| 枞阳县| 绥宁县| 阳春市| 澄迈县| 万宁市| 安乡县|