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

MySQL स्टोर्ड प्रोसीजर से क्वेरी द्वारा प्रभावित पंक्तियों की गिनती कैसे करें?

डायनामिक SQL का उपयोग करके किसी भी क्वेरी को निष्पादित करने और प्रभावित पंक्तियों की संख्या लौटाने वाला स्टोर्ड प्रोसीजर:

प्रोसीजर निर्माण:

mysql> Delimiter //
mysql> CREATE PROCEDURE `query`.`row_cnt` (IN command VarChar(60000))
    -> BEGIN
    -> SET @query = command;
    -> PREPARE stmt FROM @query;
    -> EXECUTE stmt;
    -> SELECT ROW_COUNT() AS 'Affected rows';
    -> END //
Query OK, 0 rows affected (0.00 sec)
mysql> Delimiter ;

उपयोग उदाहरण:

mysql> Create table Testing123(First Varchar(20), Second Varchar(20));
Query OK, 0 rows affected (0.48 sec)

mysql> CALL row_cnt("INSERT INTO testing123(First,Second) Values('Testing First','Testing Second');");
+---------------+
| Affected rows |
+---------------+
| 1             |
+---------------+
1 row in set (0.10 sec)

मुख्य घटक:

  • PREPARE - स्ट्रिंग से स्टेटमेंट तैयार करता है
  • EXECUTE - तैयार स्टेटमेंट निष्पादित करता है
  • ROW_COUNT() - अंतिम स्टेटमेंट द्वारा प्रभावित पंक्तियां लौटाता है
  • DELIMITER - प्रोसीजर परिभाषा के लिए डिलीमीटर बदलता है

सावधानी: डायनामिक SQL (PREPARE/EXECUTE) SQL इंजेक्शन के लिए संवेदनशील हो सकता है। केवल विश्वसनीय इनपुट के साथ उपयोग करें।

  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 स्टोर्ड प्रोसीजर में पैरामीटर के साथ DELETE क्वेरी लागू करना

    MySQL स्टोर्ड प्रोसीजर में पैरामीटरीकृत DELETE स्टोर्ड प्रोसीजर इनपुट पैरामीटर स्वीकार करके पुन: प्रयोज्य, सुरक्षित DELETE संचालन को सक्षम करते हैं। यह SQL इंजेक्शन को रोकता है और कोड पुन: उपयोग को बढ़ावा देता है। उदाहरण: पैरामीटरीकृत DELETE प्रोसीजर SELECT * FROM DemoTable1464; +------+----------

  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