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

MySQL स्टोर्ड प्रोसीजर के अंदर डायनामिक SQL क्वेरी कैसे लागू करें

समाधान

PREPARE, EXECUTE, DEALLOCATE PREPARE स्टेटमेंट का उपयोग करें।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE DemoTable2033 (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(20)
    -> );
mysql> INSERT INTO DemoTable2033 (Name) VALUES ('Chris'), ('Bob'), ('David'), ('Mike');

डायनामिक SQL के साथ प्रोसीजर

mysql> DELIMITER //
mysql> CREATE PROCEDURE dynamic_query()
    -> BEGIN
    ->   SET @query = CONCAT("SELECT * FROM DemoTable2033 WHERE Id=3");
    ->   PREPARE st FROM @query;
    ->   EXECUTE st;
    ->   DEALLOCATE PREPARE st;
    -> END //
mysql> DELIMITER ;

कॉल करें

mysql> CALL dynamic_query();
+----+-------+
| Id | Name  |
+----+-------+
| 3  | David |
+----+-------+

चरण: 1) डायनामिक क्वेरी स्ट्रिंग बनाएं, 2) PREPARE से स्टेटमेंट तैयार करें, 3) EXECUTE से चलाएं, 4) DEALLOCATE PREPARE से मुक्त करें।

  1. - MySQL में स्टोर्ड प्रोसीजर में IF ELSE लागू करें?

    IF-ELSE लागू करने के लिए, सिंटैक्स निम्न है: if yourCondition then yourStatement1; else yourStatement2; end if ; स्टोर्ड प्रोसीजर में IF-ELSE की उपरोक्त अवधारणा को समझने के लिए, आइए एक स्टोर्ड प्रोसीजर बनाते हैं: mysql> delimiter // mysql> create procedure If_else_stored_demo(value in

  1. - MySQL स्टोर्ड प्रोसीजर में डायनामिक SQL और LIKE क्लॉज

    स्टोर्ड प्रोसीजर में पैरामीटर लेकर डायनामिक टेबल बनाना PREPARED स्टेटमेंट का उपयोग करके स्टोर्ड प्रोसीजर में पैरामीटर को LIKE क्लॉज में उपयोग करें और नई टेबल बनाएं। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1973 ( StudentId int, StudentName varchar(20) ); Query OK, 0 rows affected (0

  1. - MySQL स्टोर्ड प्रोसीजर के अंदर डायनामिक SQL क्वेरी कैसे लागू करें

    समाधान PREPARE, EXECUTE, DEALLOCATE PREPARE स्टेटमेंट का उपयोग करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2033 (Name) VALUES (Chris), (Bob), (David), (Mike); डायनामिक SQL के साथ प्रोसीजर DELIMITER ; कॉल करें CALL dynamic_query(); +----+-------+ | Id | Name | +----+-------+ | 3 | David | +