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

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

MySQL में स्टोर्ड प्रोसीजर बनाने, कॉल करने और पैरामीटर उपयोग करने का पूरा गाइड

स्टोर्ड प्रोसीजर बनाने का सिंटैक्स (डिलीमीटर के साथ):

DELIMITER // 
CREATE PROCEDURE yourProcedureName() 
BEGIN 
    -- वेरिएबल घोषित करें
    -- SQL स्टेटमेंट्स
END // 
DELIMITER ;

व्यावहारिक उदाहरण

1. डेटाबेस चुनें और डिलीमीटर बदलें:

mysql> USE test; 
Database changed
mysql> DELIMITER //

2. सरल स्टोर्ड प्रोसीजर बनाएं (टेबल से सभी रिकॉर्ड चुनें):

mysql> CREATE PROCEDURE Sp_callTableStoredProcTable() 
    -> BEGIN 
    -> SELECT * FROM StoredProcTable; 
    -> END // 
Query OK, 0 rows affected (0.54 sec)

3. डिलीमीटर वापस ; पर सेट करें:

mysql> DELIMITER ;

4. स्टोर्ड प्रोसीजर कॉल करें:

mysql> CALL Sp_callTableStoredProcTable();
+-----------+------+ 
| FirstName | Age  | 
+-----------+------+ 
| John      | 23   | 
| Bob       | 24   | 
| David     | 20   | 
+-----------+------+ 
3 rows in set (0.03 sec)

5. पैरामीटर वाला स्टोर्ड प्रोसीजर (रिकॉर्ड गिनती):

mysql> DELIMITER // 
mysql> CREATE PROCEDURE CountingRecords() 
    -> BEGIN 
    -> SELECT COUNT(*) AS AllRecords FROM StoredProcTable; 
    -> END // 
Query OK, 0 rows affected (0.19 sec) 
mysql> DELIMITER ;
mysql> CALL CountingRecords();
+------------+ 
| AllRecords | 
+------------+ 
| 3          | 
+------------+ 
1 row in set (0.31 sec)

स्टोर्ड प्रोसीजर के प्रकार:

प्रकारसिंटैक्सउपयोग
बिना पैरामीटरCREATE PROC name()फिक्स्ड क्वेरी
IN पैरामीटरCREATE PROC name(IN param INT)इनपुट मान पास करें
OUT पैरामीटरCREATE PROC name(OUT param INT)मान वापस करें
INOUT पैरामीटरCREATE PROC name(INOUT param INT)इनपुट/आउटपुट दोनों

पैरामीटर वाला उदाहरण:

DELIMITER //
CREATE PROCEDURE GetEmployeeById(IN empId INT)
BEGIN
    SELECT * FROM employees WHERE id = empId;
END //
DELIMITER ;

CALL GetEmployeeById(101);

सर्वोत्तम अभ्यास:

  • हमेशा DELIMITER बदलें और बाद में बहाल करें
  • DROP PROCEDURE IF EXISTS से पहले उपयोग करें
  • सार्थक नाम दें (स्पेस नहीं, अंडरस्कोर उपयोग करें)
  • कॉम्प्लेक्स लॉजिक के लिए BEGIN ... END ब्लॉक उपयोग करें
  1. MySQL वर्कबेंच का उपयोग करके स्टोर्ड प्रोसीजर कैसे बनाएं? MySQL वर्कबेंच का उपयोग करके स्टोर्ड प्रोसीजर कैसे बनाएं?

    आइए पहले एक स्टोर्ड प्रोसीजर बनाते हैं। MySQL वर्कबेंच का उपयोग करके स्टोर्ड प्रोसीजर बनाने का क्वेरी: use business; DELIMITER // DROP PROCEDURE IF EXISTS SP_GETMESSAGE; CREATE PROCEDURE SP_GETMESSAGE() BEGIN DECLARE MESSAGE VARCHAR(100); SET MESSAGE=HELLO; SELECT CONCAT(MESSAGE, ,MYSQL!!!!); END //

  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 स्टोर्ड प्रोसीजर में 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