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

MySQL में स्टोर्ड प्रोसीजर/फंक्शन परिभाषा कैसे देखें?


SHOW CREATE PROCEDURE/FUNCTION से परिभाषा देखें

MySQL में बने स्टोर्ड प्रोसीजर या फंक्शन की पूर्ण परिभाषा देखने के लिए SHOW CREATE कथन का उपयोग करें।

स्टोर्ड प्रोसीजर

1. प्रोसीजर बनाएं

mysql> DELIMITER //
mysql> CREATE PROCEDURE AllRecords()
    -> BEGIN
    ->   SELECT * FROM student;
    -> END //
Query OK, 0 rows affected

2. प्रोसीजर कॉल करें

mysql> DELIMITER ;
mysql> CALL AllRecords();

3. परिभाषा देखें

mysql> SHOW CREATE PROCEDURE AllRecords;
+------------+--------------------------------------------+-----------------------------------------------------------------------+----------------------+----------------------+--------------------+
| Procedure  | sql_mode                                   | Create Procedure                                                      | character_set_client | collation_connection | Database Collation |
+------------+--------------------------------------------+-----------------------------------------------------------------------+----------------------+----------------------+--------------------+
| AllRecords | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`%` PROCEDURE `AllRecords`() BEGIN SELECT * FROM student; END | utf8                 | utf8_general_ci      | utf8mb4_unicode_ci |
+------------+--------------------------------------------+-----------------------------------------------------------------------+----------------------+----------------------+--------------------+

फंक्शन

SHOW CREATE FUNCTION फंक्शन_नाम;

INFORMATION_SCHEMA से (प्रोग्रामेटिक)

-- प्रोसीजर
SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES 
WHERE ROUTINE_SCHEMA = 'db_name' AND ROUTINE_NAME = 'proc_name' AND ROUTINE_TYPE = 'PROCEDURE';

-- फंक्शन
SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES 
WHERE ROUTINE_SCHEMA = 'db_name' AND ROUTINE_NAME = 'func_name' AND ROUTINE_TYPE = 'FUNCTION';

सभी रूटीन सूचीबद्ध करें

SHOW PROCEDURE STATUS WHERE Db = 'db_name';
SHOW FUNCTION STATUS WHERE Db = 'db_name';

नोट्स

  • DEFINER दिखाता है कि किसने बनाया और किस होस्ट से
  • sql_mode निर्माण समय का SQL मोड दिखाता है
  • character_set_client और collation_connection कनेक्शन सेटिंग्स दिखाते हैं
  • MySQL Workbench में: Navigator → Stored Procedures/Functions → राइट-क्लिक → "Send to SQL Editor" → "Create Statement"
  1. - MySQL स्टोर्ड प्रोसीजर में WHERE IN() क्लॉज का उपयोग कैसे करें?

    MySQL स्टोर्ड प्रोसीजर में डायनामिक WHERE IN() क्लॉज का उपयोग करने के लिए प्रिपेयर्ड स्टेटमेंट (Prepared Statements) का उपयोग करना पड़ता है, क्योंकि IN क्लॉज में सीधे पैरामीटर पास नहीं किया जा सकता। समस्या सीधे पैरामीटर उपयोग नहीं कर सकते: -- यह काम नहीं करेगा: SELECT * FROM table WHERE id IN (inpu

  1. - MySQL स्टोर्ड प्रोसीजर में गणितीय संक्रियाएं करें?

    आइए एक स्टोर्ड प्रोसीजर बनाते हैं। यहाँ हम amount*quantity की गणना कर रहे हैं यानी गणितीय संक्रियाएं लागू कर रहे हैं: mysql> delimiter // mysql> create procedure calculation_proc(amount int,quantity int) begin select amount,quantity,(amount*quantity) as Total; end // Query OK, 0 rows affe

  1. - MySQL स्टोर्ड प्रोसीजर में टेबल में डेटा कैसे इन्सर्ट करें?

    MySQL स्टोर्ड प्रोसीजर के अंदर INSERT स्टेटमेंट का उपयोग करके टेबल में डेटा इन्सर्ट कर सकते हैं। पैरामीटर लेकर डायनामिक इन्सर्ट करने वाला प्रोसीजर पुन: उपयोग योग्य और सुरक्षित होता है। सिंटैक्स CREATE PROCEDURE procedure_name(IN param1 TYPE, IN param2 TYPE, ...) BEGIN INSERT INTO table_name (co