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

एक MySQL स्टोर्ड प्रोसीजर बनाएं, जो पैरामीटर के रूप में डेटाबेस का नाम लेता है, किसी विशेष डेटाबेस में विस्तृत जानकारी के साथ टेबल्स की सूची बनाता है।


मान लीजिए वर्तमान में हम 'query' नामक डेटाबेस का उपयोग कर रहे हैं और इसमें निम्न टेबल्स हैं:

mysql> Show tables in query;
+-----------------+
| Tables_in_query |
+-----------------+
| student_detail  |
| student_info    |
+-----------------+
2 rows in set (0.00 sec)

अब, निम्न एक स्टोर्ड प्रोसीजर है, जो पैरामीटर के रूप में डेटाबेस का नाम स्वीकार करेगा और हमें विस्तृत जानकारी के साथ टेबल्स की सूची देगा:

mysql> DELIMITER//
mysql> CREATE procedure tb_list(db_name varchar(40))
    ->
    BEGIN
    SET @z := CONCAT('Select * from information_schema.tables WHERE table_schema = ','\'',db_name,'\'');
    Prepare stmt from @z;
    EXECUTE stmt;
    END //
Query OK, 0 rows affected (0.06 sec)

अब इस स्टोर्ड प्रोसीजर को इसके पैरामीटर के रूप में डेटाबेस का नाम प्रदान करके इनवोक करें:

mysql> DELIMITER;
mysql> CALL tb_list('query')\G
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: query
TABLE_NAME: student_detail
TABLE_TYPE: BASE TABLE
ENGINE: InnoDB
VERSION: 10
ROW_FORMAT: Dynamic
TABLE_ROWS: 4
AVG_ROW_LENGTH: 4096
DATA_LENGTH: 16384
MAX_DATA_LENGTH: 0
INDEX_LENGTH: 0
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2017-12-13 16:25:44
UPDATE_TIME: NULL
CHECK_TIME: NULL
TABLE_COLLATION: latin1_swedish_ci
CHECKSUM: NULL
CREATE_OPTIONS:
TABLE_COMMENT:
*************************** 2. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: query
TABLE_NAME: student_info
TABLE_TYPE: BASE TABLE
ENGINE: InnoDB
VERSION: 10
ROW_FORMAT: Dynamic
TABLE_ROWS: 4
AVG_ROW_LENGTH: 4096
DATA_LENGTH: 16384
MAX_DATA_LENGTH: 0
INDEX_LENGTH: 0
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2017-12-12 09:52:51
UPDATE_TIME: NULL
CHECK_TIME: NULL
TABLE_COLLATION: latin1_swedish_ci
CHECKSUM: NULL
CREATE_OPTIONS:
TABLE_COMMENT:
2 rows in set (0.00 sec)

  1. - MySQL में डिलीमीटर के साथ स्टोर्ड प्रोसीजर बनाना: पूर्ण गाइड

    MySQL में स्टोर्ड प्रोसीजर बनाने, कॉल करने और पैरामीटर उपयोग करने का पूरा गाइड स्टोर्ड प्रोसीजर बनाने का सिंटैक्स (डिलीमीटर के साथ): DELIMITER // CREATE PROCEDURE yourProcedureName() BEGIN -- वेरिएबल घोषित करें -- SQL स्टेटमेंट्स END // DELIMITER ; व्यावहारिक उदाहरण 1. डेटाबेस चुनें औ

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

    IN और OUT पैरामीटर के साथ स्टोर्ड प्रोसीजर MySQL स्टोर्ड प्रोसीजर में IN (इनपुट), OUT (आउटपुट), और INOUT (दोनों) पैरामीटर हो सकते हैं। सिंटैक्स DELIMITER // CREATE PROCEDURE proc_name(IN param1 TYPE, OUT param2 TYPE) BEGIN -- स्टेटमेंट्स SET param2 = ...; END // DELIMITER ; उदाहरण: मान मौज

  1. - MySQL स्टोर्ड प्रोसीजर में लागू क्वेरी से डेटाबेस नाम प्राप्त करें?

    डेटाबेस नाम प्राप्त करने के लिए नीचे दिए गए सिंटैक्स का उपयोग करें: select database(); आइए उपरोक्त सिंटैक्स को स्टोर्ड प्रोसीजर में लागू करते हैं: mysql> delimiter // mysql> create procedure get_procedure_database_name() -> begin -> select concat(The database name=,database()); -> en