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

संग्रहीत कार्यविधि क्या है और हम MySQL संग्रहीत कार्यविधियाँ कैसे बना सकते हैं?


संग्रहीत प्रक्रिया, नियमित कंप्यूटिंग भाषा के संदर्भ में, एक उपप्रोग्राम की तरह एक सबरूटीन के रूप में परिभाषित किया जा सकता है जो एक डेटाबेस में संग्रहीत होता है। MySQL के संदर्भ में, यह डेटाबेस कैटलॉग के अंदर संग्रहीत घोषणात्मक SQL कथनों का एक खंड है। MySQL में संग्रहीत कार्यविधियाँ लिखने से पहले, हमें संस्करण की जाँच करनी चाहिए क्योंकि MySQL 5 संग्रहीत कार्यविधि का परिचय देता है। संग्रहीत कार्यविधि बनाने के लिए सिंटैक्स निम्नलिखित है -

सिंटैक्स

CREATE [DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter: [ IN | OUT | INOUT ] param_name type
type:
Any valid MySQL data type
characteristic:
COMMENT 'string'
| LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA
| MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
routine_body:
Valid SQL routine statement

उदाहरण

निम्नलिखित एक उदाहरण है जिसमें हमने 'student_info' तालिका से सभी रिकॉर्ड प्राप्त करने के लिए एक सरल प्रक्रिया बनाई, जिसमें निम्न डेटा है -

mysql> select * from student_info;
+-----+---------+------------+------------+
| id  | Name    | Address    | Subject    |
+-----+---------+------------+------------+
| 100 | Aarav   | Delhi      | Computers  |
| 101 | YashPal | Amritsar   | History    |
| 105 | Gaurav  | Jaipur     | Literature |
| 110 | Rahul   | Chandigarh | History    |
+------+--------+------------+------------+
4 rows in set (0.00 sec)

अब, निम्नलिखित प्रश्नों की सहायता से हमने allrecords()

नामक संग्रहित प्रक्रिया बनाई है।
mysql> Delimiter //
mysql> Create Procedure allrecords()
    -> BEGIN
    -> Select * from Student_info;
    -> END//
Query OK, 0 rows affected (0.02 sec)
mysql> DELIMITER ;

  1. हम एक MySQL ट्रिगर कैसे बना और उपयोग कर सकते हैं?

    नया ट्रिगर बनाने के लिए, हमें CREATE TRIGGER स्टेटमेंट का उपयोग करना होगा। इसका सिंटैक्स इस प्रकार है - ट्रिगर बनाएं ट्रिगर_नाम ट्रिगर_टाइम ट्रिगर_इवेंटॉन टेबल_नामप्रत्येक पंक्ति के लिए...END; यहाँ, Trigger_name ट्रिगर का नाम है जिसे CREATE TRIGGER स्टेटमेंट के बाद रखा जाना चाहिए। ट्रिगर_नाम के लि

  1. संग्रहीत प्रक्रिया में IF का उपयोग कैसे करें और MySQL में चयन करें?

    आप संग्रहित प्रक्रिया में IF का उपयोग कर सकते हैं और IF() का चयन कथन में भी कर सकते हैं। IF() चुनिंदा स्टेटमेंट में सेलेक्ट करें if(0=0,Hello MySQL,condition is गलत); यह निम्नलिखित आउटपुट देगा - +------------------------------------------ --------+| अगर (टेस्ट =टेस्ट, हैलो MySQL, हालत गलत है) |+--

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

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