Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

जावा में pl/sql सरणी वापसी मान प्राप्त करें

मैंने ARRAY . के साथ ऐसा नहीं किया लेकिन यह काम करना चाहिए। सबसे पहले आपको outपंजीकरण करना होगा आपके फ़ंक्शन का पैरामीटर। तो यह ऐसा हो सकता है।

private final String PRODECURE_NAME = "{? = call <ProcedureName>(?,?,?)}";

Connection con = null;
CallableStatement cs = null;

       try {
            con = DAOFactory.getDatabaseConnection();
            cs = con.prepareCall(PRODECURE_NAME);
            cs.registerOutParameter(1, java.sql.Types.ARRAY);
            cs.setYourType(2, <yourData>);
            cs.setYourType(3, <yourData>);
            cs.setYourType(4, <yourData>);
            cs.execute();
            Array arr = cs.getArray(1);
            if (arr != null) {
               String[] data = (String[]) arr.getArray();
            }
        } 
        catch (SQLException ex) {
            Logger.getLogger(OracleLiekDAO.class.getName()).log(Level.SEVERE, null, ex);
            try {
                con.rollback();
            }
        }
        finally {
            if (con != null) {
                try {
                    con.close();
                } 
                catch (SQLException ex) {
                    Logger.getLogger(OracleLiekDAO.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }

इस आदमी की कोशिश करो और मुझे दे दो फिर चाहे वह करो या नहीं।

संपादित करें:

ये चार ? एक पैरामीटर का प्रतिनिधित्व करता है जिसे आप सेट करेंगे (इसे पैरामीट्रिज्ड नाम दिया गया है)। तो यह:

cs.setYourType(2, <yourData>);
cs.setYourType(3, <yourData>);
cs.setYourType(4, <yourData>);

इसका मतलब है कि आपने अपने तीन पैरामीटर (?) सेट किए हैं, विधि का पहला पैरामीटर कॉलम इंडेक्स है और दूसरा आप अपने विशिष्ट प्रकार का डेटा हैं।

संपादित करें 2:

क्षमा करें, मैंने खराब समाधान लिखा है, पहले से अपडेट किया गया है इसलिए अभी कोड जांचें और इसे आजमाएं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PowerShell में SQL प्लस स्क्रिप्ट कैसे चलाएं

  2. किसी अन्य तालिका में किसी अन्य कॉलम का उपयोग करके एक कॉलम को कैसे अपडेट करें? SQL त्रुटि:ORA-00933:SQL आदेश ठीक से समाप्त नहीं हुआ

  3. Oracle RAC और अनुक्रम

  4. नॉन-रिपीटेबल रीड और फैंटम रीड में क्या अंतर है?

  5. Oracle में परिणाम कैसे सीमित करें