मारियाडीबी में, हम SHOW PROCEDURE STATUS
. का उपयोग कर सकते हैं संग्रहीत प्रक्रियाओं की सूची वापस करने के लिए आदेश।
हम information_schema.routines
. को भी क्वेरी कर सकते हैं एक ही काम करने के लिए टेबल।
SHOW PROCEDURE STATUS
कमांड
सभी संग्रहीत कार्यविधियों को सूचीबद्ध करने का सबसे आसान तरीका SHOW PROCEDURE STATUS
का उपयोग करना है आदेश।
सभी संग्रहीत कार्यविधियों को सूचीबद्ध करने के लिए बस निम्नलिखित चलाएँ:
SHOW PROCEDURE STATUS;
वाक्य रचना इस प्रकार है:
SHOW PROCEDURE STATUS
[LIKE 'pattern' | WHERE expr]
तो आप एक LIKE
. का उपयोग कर सकते हैं खंड या WHERE
परिणामों को कम करने के लिए खंड।
उदाहरण:
SHOW PROCEDURE STATUS LIKE 'film%';
परिणाम:
+--------+-------------------+-----------+------------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+ | Db | Name | Type | Definer | Modified | Created | Security_type | Comment | character_set_client | collation_connection | Database Collation | +--------+-------------------+-----------+------------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+ | sakila | film_in_stock | PROCEDURE | [email protected] | 2021-11-13 07:26:47 | 2021-11-13 07:26:47 | DEFINER | | utf8mb4 | utf8mb4_general_ci | utf8mb4_general_ci | | sakila | film_not_in_stock | PROCEDURE | [email protected] | 2021-11-13 07:26:47 | 2021-11-13 07:26:47 | DEFINER | | utf8mb4 | utf8mb4_general_ci | utf8mb4_general_ci | +--------+-------------------+-----------+------------------+---------------------+---------------------+---------------+---------+----------------------+----------------------+--------------------+
द information_schema.routines
टेबल
संग्रहीत कार्यविधियों की सूची प्राप्त करने का दूसरा तरीका information_schema.routines
को क्वेरी करना है टेबल।
उदाहरण:
SELECT
routine_schema as "Database",
routine_name
FROM
information_schema.routines
WHERE
routine_type = 'PROCEDURE'
ORDER BY
routine_schema ASC,
routine_name ASC;
परिणाम:
+----------+--------------------+ | Database | routine_name | +----------+--------------------+ | mysql | AddGeometryColumn | | mysql | DropGeometryColumn | | pethouse | spGetAllPets | | pethouse | spGetPetById | | sakila | film_in_stock | | sakila | film_not_in_stock | | sakila | rewards_report | +----------+--------------------+
यह तालिका संग्रहीत कार्यों के बारे में जानकारी भी संग्रहीत करती है। उपरोक्त उदाहरण में, मैंने WHERE
. का उपयोग करके उन्हें बाहर रखा है केवल संग्रहीत कार्यविधियों को वापस करने के लिए खंड (अर्थात routine_type
. के साथ ऑब्जेक्ट PROCEDURE
. का )।
संग्रहीत कार्यों को शामिल करने के लिए हम WHERE
. को हटा सकते हैं खंड:
SELECT
routine_schema as "Database",
routine_name,
routine_type
FROM
information_schema.routines
ORDER BY
routine_schema ASC,
routine_name ASC;
परिणाम:
+----------+----------------------------+--------------+ | Database | routine_name | routine_type | +----------+----------------------------+--------------+ | mysql | AddGeometryColumn | PROCEDURE | | mysql | DropGeometryColumn | PROCEDURE | | pethouse | spGetAllPets | PROCEDURE | | pethouse | spGetPetById | PROCEDURE | | sakila | film_in_stock | PROCEDURE | | sakila | film_not_in_stock | PROCEDURE | | sakila | get_customer_balance | FUNCTION | | sakila | inventory_held_by_customer | FUNCTION | | sakila | inventory_in_stock | FUNCTION | | sakila | rewards_report | PROCEDURE | +----------+----------------------------+--------------+
इस मामले में मैंने routine_type
. भी जोड़ा है कॉलम ताकि हम प्रक्रियाओं और कार्यों के बीच अंतर कर सकें।
यदि हम चाहें तो कुछ डेटाबेस को परिणाम से बाहर भी कर सकते हैं:
SELECT
routine_schema as "Database",
routine_name,
routine_type
FROM
information_schema.routines
WHERE
routine_schema NOT IN ('sys', 'information_schema', 'mysql', 'performance_schema')
ORDER BY
routine_schema ASC,
routine_name ASC;
परिणाम:
+----------+----------------------------+--------------+ | Database | routine_name | routine_type | +----------+----------------------------+--------------+ | pethouse | spGetAllPets | PROCEDURE | | pethouse | spGetPetById | PROCEDURE | | sakila | film_in_stock | PROCEDURE | | sakila | film_not_in_stock | PROCEDURE | | sakila | get_customer_balance | FUNCTION | | sakila | inventory_held_by_customer | FUNCTION | | sakila | inventory_in_stock | FUNCTION | | sakila | rewards_report | PROCEDURE | +----------+----------------------------+--------------+
या हम इसे किसी दिए गए डेटाबेस तक सीमित कर सकते हैं:
SELECT
routine_schema as "Database",
routine_name,
routine_type
FROM
information_schema.routines
WHERE
routine_schema = 'pethouse'
ORDER BY
routine_name ASC;
परिणाम:
+----------+--------------+--------------+ | Database | routine_name | routine_type | +----------+--------------+--------------+ | pethouse | spGetAllPets | PROCEDURE | | pethouse | spGetPetById | PROCEDURE | +----------+--------------+--------------+