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

संग्रहीत कार्यविधि का उपयोग करके मेरे द्वारा वांछित मान को पुनः प्राप्त नहीं किया जा सकता है

यदि आप संग्रहीत प्रक्रिया के आउट पैरामीटर के माध्यम से लौटाया गया मान चाहते हैं तो आप परिणामसेट का उपयोग नहीं करते हैं, आप संग्रहीत प्रक्रिया के आउट पैरामीटर से जुड़े कॉल करने योग्य स्टेटमेंट पैरामीटर का उपयोग करते हैं। उदाहरण के लिए, परीक्षण तालिका के लिए

CREATE TABLE `allsections_list` (
 `SECTION_ID` int(11) NOT NULL,
 `SECTION_NAME` varchar(50) DEFAULT NULL,
 PRIMARY KEY (`SECTION_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

नमूना डेटा युक्त

SECTION_ID  SECTION_NAME
----------  ---------------
         1  one_section
         2  another_section

और संग्रहित प्रक्रिया

CREATE PROCEDURE `getSECTION_NAME`(IN myID INT, OUT myName VARCHAR(50))
BEGIN
   SELECT SECTION_NAME INTO myName FROM allsections_list WHERE SECTION_ID = myID;
END

फिर निम्न जावा कोड

try (CallableStatement myFirstCs = conn.prepareCall("{call getSECTION_NAME(?,?)}")) {
    myFirstCs.setInt(1, 2);  // set IN parameter "myID" to value 2
    myFirstCs.registerOutParameter(2, Types.VARCHAR);
    myFirstCs.execute();
    String sectionName = myFirstCs.getString(2);  // get value from OUT parameter "myName"
    System.out.println(sectionName);
}

प्रिंट

another_section


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में Null, Zero और Blank में क्या अंतर हैं?

  2. उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध (पासवर्ड का उपयोग करके:हाँ)

  3. केकपीएचपी क्वेरी डेटाबेस से निकटतम अक्षांश देशांतर

  4. क्या mysql_free_result($result) का उपयोग करना एक अच्छा अभ्यास है?

  5. MySQL में डेटाटाइम को UTC में कैसे बदलें