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

MySQL में स्टोर्ड प्रोसीजर से टेबल रिकॉर्ड कैसे प्रदर्शित करें?

MySQL में स्टोर्ड प्रोसीजर के अंदर SELECT स्टेटमेंट रखकर टेबल रिकॉर्ड्स प्रदर्शित कर सकते हैं। यह एनकैप्सुलेशन, पुन: उपयोग, और सुरक्षा (टेबल पर सीधे SELECT अधिकार दिए बिना डेटा एक्सेस) के लिए उपयोगी है।

उदाहरण: सभी रिकॉर्ड प्रदर्शित करने वाला प्रोसीजर

डेमो टेबल बनाएं:

mysql> CREATE TABLE DemoTable1933 (ClientName VARCHAR(20));

डेटा इन्सर्ट करें:

mysql> INSERT INTO DemoTable1933 VALUES
('Chris Brown'), ('David Miller'), ('Adam Smith'), ('John Doe');

स्टोर्ड प्रोसीजर बनाएं:

mysql> DELIMITER //
mysql> CREATE PROCEDURE display_all_records()
BEGIN
    SELECT * FROM DemoTable1933;
END //
mysql> DELIMITER ;

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

mysql> CALL display_all_records();

आउटपुट:

+--------------+
| ClientName   |
+--------------+
| Chris Brown  |
| David Miller |
| Adam Smith   |
| John Doe     |
+--------------+

पैरामीटर के साथ प्रोसीजर (फ़िल्टरिंग)

CREATE PROCEDURE get_clients_by_name(IN search_name VARCHAR(50))
BEGIN
    SELECT * FROM DemoTable1933 
    WHERE ClientName LIKE CONCAT('%', search_name, '%');
END
CALL get_clients_by_name('Chris');

आउटपुट पैरामीटर के साथ प्रोसीजर

CREATE PROCEDURE get_client_count(OUT total INT)
BEGIN
    SELECT COUNT(*) INTO total FROM DemoTable1933;
END
CALL get_client_count(@cnt);
SELECT @cnt;

लाभ

  • एनकैप्सुलेशन: SQL लॉजिक डेटाबेस में रहता है
  • सुरक्षा: यूज़र को टेबल पर SELECT दिए बिना प्रोसीजर पर EXECUTE दे सकते हैं
  • पुन: उपयोग: एप्लिकेशन कोड सरल रहता है
  • प्रदर्शन: पार्स/ऑप्टिमाइज़ेशन कैश होता है
  • नेटवर्क: कम डेटा ट्रांसफर (केवल परिणाम)

प्रबंधन कमांड

-- प्रोसीजर देखें
SHOW PROCEDURE STATUS WHERE Db = DATABASE();

-- प्रोसीजर परिभाषा देखें
SHOW CREATE PROCEDURE display_all_records;

-- प्रोसीजर ड्रॉप करें
DROP PROCEDURE IF EXISTS display_all_records;

सावधानियां

  • प्रोसीजर में DDL (CREATE, ALTER, DROP) न करें
  • लंबे समय तक चलने वाले प्रोसीजर लॉक होल्ड कर सकते हैं
  • परिणाम सेट मेटाडेटा एप्लिकेशन ड्राइवर द्वारा सही ढंग से हैंडल होना चाहिए

स्टोर्ड प्रोसीजर डेटा एक्सेस लेयर को सरल और सुरक्षित बनाने का प्रभावी तरीका है।

  1. - MySQL में शर्त के साथ स्टोर्ड प्रोसीजर से रिकॉर्ड कैसे अपडेट करें?

    MySQL में स्टोर्ड प्रोसीजर के अंदर UPDATE और WHERE क्लॉज का उपयोग करके शर्त के आधार पर रिकॉर्ड अपडेट किए जा सकते हैं। सिंटैक्स DELIMITER // CREATE PROCEDURE procedure_name(IN param1 TYPE, IN param2 TYPE) BEGIN UPDATE table_name SET col1 = param1, col2 = param2 WHERE condition; END // DE

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

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

  1. - MySQL स्टोर्ड प्रोसीजर में SHOW CREATE TABLE निष्पादित करें

    डायनामिक SQL से स्टोर्ड प्रोसीजर में SHOW CREATE TABLE चलाएं टेबल नाम पैरामीटर लेकर SHOW CREATE TABLE को डायनामिक रूप से निष्पादित करने वाला स्टोर्ड प्रोसीजर बनाएं। टेबल बनाएं: mysql> create table DemoTable2011 ( StudentId int NOT NULL AUTO_INCREMENT, StudentName varchar(20), StudentAge int, Stud