Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

संग्रहित प्रक्रियाएं क्या हैं? JDBC प्रोग्राम का उपयोग करके संग्रहीत कार्यविधियों को कैसे कॉल करें?

<घंटा/>

संग्रहीत कार्यविधियाँ उप रूटीन हैं, SQL कथनों का खंड जो SQL कैटलॉग में संग्रहीत हैं। सभी एप्लिकेशन जो रिलेशनल डेटाबेस (जावा, पायथन, पीएचपी आदि) तक पहुंच सकते हैं, इन प्रक्रियाओं तक पहुंच सकते हैं।

संग्रहीत कार्यविधियों में IN और OUT पैरामीटर या दोनों होते हैं। यदि आप सेलेक्ट स्टेटमेंट का उपयोग करते हैं तो वे परिणाम सेट वापस कर सकते हैं, वे कई परिणाम-सेट लौटा सकते हैं।

उदाहरण

मान लीजिए हमारे पास प्रेषण . नाम की एक तालिका है निम्नलिखित डेटा के साथ MySQL डेटाबेस में:

<पूर्व>+--------------+----------------------------+----------- ------+---------------------+| Product_Name | Date_Of_Dispatch | Time_Of_Dispatch | स्थान |+--------------+----------------------------+--------------- -----+---------------------+| की-बोर्ड | 1970-01-19 | 08:51:36 | हैदराबाद || इयरफ़ोन | 1970-01-19 | 05:54:28 | विशाखापत्तनम || माउस | 1970-01-19 | 04:26:38 | विजयवाड़ा | -----+---------------------+

और अगर हमने इस तालिका से मूल्यों को पुनः प्राप्त करने के लिए myProcedure नाम की एक प्रक्रिया बनाई है जैसा कि नीचे दिखाया गया है:

प्रक्रिया बनाएं myProcedure ()-> BEGIN-> SELECT * from Dispatches;-> END //

उदाहरण

निम्नलिखित एक JDBC उदाहरण है जो JDBC प्रोग्राम का उपयोग करके उपर्युक्त संग्रहीत कार्यविधि को कॉल करता है।

आयात करें ]) SQLException फेंकता है {// ड्राइवर DriverManager.registerDriver को पंजीकृत करना (नया com.mysql.jdbc.Driver ()); // कनेक्शन प्राप्त करना स्ट्रिंग mysqlUrl ="jdbc:mysql://localhost/sampleDB"; कनेक्शन कॉन =DriverManager.getConnection (mysqlUrl, "रूट", "पासवर्ड"); System.out.println ("कनेक्शन स्थापित ......"); // एक कॉल करने योग्य स्टेटमेंट तैयार करना कॉल करने योग्य स्टेटमेंट cstmt =con.prepareCall ("{कॉल myProcedure ()}"); // परिणाम प्राप्त करना परिणामसेट आरएस =cstmt.executeQuery (); जबकि (rs.next ()) {System.out.println ("उत्पाद का नाम:" + rs.getString ("Product_Name")); System.out.println ("प्रेषण की तिथि:" + rs.getDate ("Date_Of_Dispatch")); System.out.println ("प्रेषण की तिथि:" + rs.getTime ("Time_Of_Dispatch")); System.out.println ("स्थान:" + rs.getString ("स्थान")); System.out.println (); } }}

आउटपुट

कनेक्शन स्थापित...उत्पाद का नाम:कुंजी बोर्ड प्रेषण की तिथि:1970-01-19प्रेषण का समय:08:51:36 स्थान:हैदराबाद उत्पाद का नाम:इयरफ़ोन प्रेषण की तिथि:1970-01-19 प्रेषण का समय:05:54 :28 स्थान:विशाखापत्तनम उत्पाद का नाम:माउस प्रेषण की तिथि:1970-01-19 प्रेषण का समय:04:26:38 स्थान:विजयवाड़ा

  1. MySQL कार्यक्षेत्र का उपयोग करके संग्रहीत कार्यविधियाँ बनाएँ?

    आइए पहले एक संग्रहित प्रक्रिया बनाएं। MySQL वर्कबेंच का उपयोग करके एक संग्रहीत कार्यविधि बनाने की क्वेरी निम्नलिखित है। व्यवसाय का उपयोग करें;DELIMITER//ड्रॉप प्रक्रिया अगर SP_GETMESSAGE मौजूद है; प्रक्रिया बनाएं SP_GETMESSAGE()BEGINDECLARE MESSAGE VARCHAR(100);SET MESSAGE=Hello;Select CONCAT(MESSAG

  1. आईएफ लॉजिक के साथ संग्रहित प्रक्रिया के भीतर संग्रहित प्रक्रियाओं को कॉल करें?

    संग्रहीत कार्यविधि में संग्रहीत कार्यविधियों को कॉल करने के लिए, सिंटैक्स इस प्रकार है - 100 है तो yourProcedureName1(); और कॉल करें yourProcedureName2(); अगर अंत; END आइए उपरोक्त सिंटैक्स को लागू करें। उपरोक्त अवधारणा को लागू करने के लिए, हम एक संग्रहित प्रक्रिया बनाते हैं - // क्वेरी ठीक है, 0

  1. सी कंपाइलर में फ्लोट्स को कैसे स्टोर किया जाता है?

    C प्रोग्रामिंग लैंग्वेज में, फ्लोट फ्लोटिंग पॉइंट के लिए एक शॉर्ट टर्म है। फ़्लोटिंग पॉइंट नंबर आम तौर पर इंस्टीट्यूट ऑफ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स (आईईईई) प्रारूप के रूप में दर्शाए जाते हैं। आईईईई प्रारूप 2 की शक्ति का प्रतिनिधित्व करने के लिए एक साइन बिट, एक मंटिसा और एक एक्सप