MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

मारियाडीबी में सभी संग्रहित प्रक्रियाओं को कैसे सूचीबद्ध करें

मारियाडीबी में, हम 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    |
+----------+--------------+--------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी में SEC_TO_TIME () कैसे काम करता है

  2. मारियाडीबी में इलिप्सिस के साथ टेक्स्ट को कैसे छोटा करें

  3. मारियाडीबी सर्वर के साथ एरिया स्टोरेज इंजन का उपयोग करना

  4. बेंचमार्किंग डेटाबेस 101 - भाग 1

  5. मारियाडीबी में शो कैरेक्टर सेट कैसे काम करता है