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

क्या हम कॉल करने योग्य स्टेटमेंट का उपयोग करके फ़ंक्शन कॉल कर सकते हैं? JDBC में एक उदाहरण के साथ समझाएं?

<घंटा/>

प्रक्रियाओं की तरह, आप डेटाबेस में फ़ंक्शन भी बना सकते हैं और उन्हें स्टोर कर सकते हैं।

वाक्यविन्यास

(MySQL) डेटाबेस में फ़ंक्शन बनाने का सिंटैक्स निम्नलिखित है:

FUNCTION बनाएं Function_Name(input_arguments) रिटर्न्स output_parameterBEGIN वैरिएबल घोषित करें; बयान। . . . . . . . . . डेटा_टाइप लौटाएं; END

उदाहरण

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

<पूर्व>+----------+---------------+----------------+| नाम | जन्म तिथि | स्थान |+--------+---------------+----------------+| अमित | 1970-01-08 | हैदराबाद || सुमित | 1970-01-08 | विशाखापत्तनम || सुधा | 1970-01-05 | विजयवाड़ा |+--------+---------------+----------------+

नीचे दिया गया एक फ़ंक्शन बनाने का एक उदाहरण है। यहां, हम getDob() . नाम से एक फंक्शन बना रहे हैं जो कर्मचारी के नाम को स्वीकार करता है, जन्मतिथि कॉलम का मूल्य प्राप्त करता है और लौटाता है।

CREATE FUNCTION getDob(emp_name VARCHAR(50)) RETURN DATEBEGINडिक्लेयर डेटऑफ़ बर्थ डेट; EMP से डेटऑफ़बर्थ में DOB चुनें, जहां Name =emp_name;रिटर्न डेटऑफ़बर्थ;END

JDBC का उपयोग करके किसी फ़ंक्शन को कॉल करना

आप CallableStatement . का उपयोग करके किसी फ़ंक्शन को कॉल कर सकते हैं ऑब्जेक्ट को संग्रहीत कार्यविधियों की तरह, JDBC प्रोग्राम का उपयोग करके किसी फ़ंक्शन को कॉल करने के लिए जिसकी आपको आवश्यकता है।

  • डेटाबेस से कनेक्ट करें।

  • एक तैयार विवरण बनाएं ऑब्जेक्ट और उसके कंस्ट्रक्टर को फंक्शन कॉल को स्ट्रिंग फॉर्मेट में पास करें।

  • प्लेस होल्डर्स के लिए मान सेट करें।

  • कॉल करने योग्य कथन निष्पादित करें।

JDBC से किसी फ़ंक्शन को कॉल करने के लिए क्वेरी निम्नलिखित है:

<पूर्व>{? =कॉल गेटडॉब(?)}

जैसा कि आप देखते हैं कि क्वेरी में तैयार और कॉल करने योग्य बयानों की तरह प्लेसहोल्डर (?) शामिल हैं।

उपरोक्त क्वेरी में पहला स्थान धारक फ़ंक्शन के रिटर्न मान का प्रतिनिधित्व करता है और दूसरा प्लेसहोल्डर इनपुट पैरामीटर का प्रतिनिधित्व करता है।

आपको registerOutParameter() का उपयोग करके आउटपुट पैरामीटर के रूप में रिटर्न वैल्यू का प्रतिनिधित्व करने वाले प्लेस होल्डर को पंजीकृत करने की आवश्यकता है विधि (कॉल करने योग्य स्टेटमेंट इंटरफ़ेस)। इस विधि के लिए आपको प्लेस होल्डर की स्थिति का प्रतिनिधित्व करने वाला एक पूर्णांक मान और sql प्रकार (पैरामीटर के) का प्रतिनिधित्व करने वाला एक पूर्णांक चर पारित करने की आवश्यकता है

cstmt.registerOutParameter(1, Types.DATE);

सेटस्ट्रिंग () विधि का उपयोग करके मान को इनपुट पैरामीटर पर सेट करें। (चूंकि getDoc() फ़ंक्शन VARCHAR प्रकार के मान को स्वीकार करता है)।

उदाहरण

निम्नलिखित JDBC प्रोग्राम getDob फंक्शन निष्पादित करता है और परिणाम पुनः प्राप्त करता है:

आयात करें ]) SQLException फेंकता है {// ड्राइवर DriverManager.registerDriver को पंजीकृत करना (नया com.mysql.jdbc.Driver ()); // कनेक्शन प्राप्त करना स्ट्रिंग mysqlUrl ="jdbc:mysql://localhost/sampleDB"; कनेक्शन कॉन =DriverManager.getConnection (mysqlUrl, "रूट", "पासवर्ड"); System.out.println ("कनेक्शन स्थापित ......"); // कॉल करने योग्य स्टेटमेंट तैयार करना कॉल करने योग्य स्टेटमेंट cstmt =con.prepareCall ("{? =कॉल getDob (?)}"); cstmt.registerOutParameter(1, Types.DATE); cstmt.setString(2, "अमित"); cstmt.execute (); System.out.print ("जन्म तिथि:" + cstmt.getDate(1)); }}

आउटपुट

कनेक्शन स्थापित हो गया......जन्म तिथि:1970-01-08

  1. जावास्क्रिप्ट में अतुल्यकालिक कार्यों को एक उदाहरण के साथ समझाएं

    एसिंक्रोनस फ़ंक्शंस को async कीवर्ड के साथ परिभाषित किया गया है और ES 2015 में पेश किया गया था। इन फ़ंक्शंस को कॉलबैक की तुलना में कॉन्सिसिस वादे लिखने के बेहतर तरीके को परिभाषित करने के लिए पेश किया गया था। प्रतीक्षा कीवर्ड का उपयोग async फ़ंक्शन के अंदर नियंत्रण के प्रवाह को रोकने के लिए किया जाता

  1. हम JDBC का उपयोग करके डेटाबेस से फ़ाइल कैसे प्राप्त कर सकते हैं?

    परिणाम सेट इंटरफ़ेस getClob() . नामक विधियाँ प्रदान करता है और getCharacterStream() क्लॉब को पुनः प्राप्त करने के लिए डेटाटाइप, जिसमें किसी फ़ाइल की सामग्री को आम तौर पर संग्रहीत किया जाता है। ये विधियाँ स्तंभ के सूचकांक (या, स्तंभ के नाम का प्रतिनिधित्व करने वाला एक स्ट्रिंग मान) का प्रतिनिधित्व क

  1. बताएं कि पायथन में फ़ैक्टरप्लॉट फ़ंक्शन का उपयोग करके वायलिन प्लॉट की कल्पना कैसे की जा सकती है?

    बारप्लॉट फ़ंक्शन एक श्रेणीगत चर और एक सतत चर के बीच संबंध स्थापित करता है। डेटा को आयताकार बार के रूप में दर्शाया जाता है जहां बार की लंबाई उस विशिष्ट श्रेणी में डेटा के अनुपात को इंगित करती है। पॉइंट प्लॉट बार प्लॉट के समान होते हैं लेकिन फ़िल बार का प्रतिनिधित्व करने के बजाय, डेटा पॉइंट का अनुमान