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

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

स्टोर्ड प्रोसीजर में पैरामीटर लेकर डायनामिक टेबल बनाना

PREPARED स्टेटमेंट का उपयोग करके स्टोर्ड प्रोसीजर में पैरामीटर को LIKE क्लॉज में उपयोग करें और नई टेबल बनाएं।

टेबल बनाएं और डेटा डालें:

mysql> create table DemoTable1973 ( StudentId int, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec)
mysql> insert into DemoTable1973 values(101,'Chris'); ...

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

mysql> DELIMITER // mysql> create PROCEDURE demo_create(IN newTableName varchar(20), IN tbl varchar(20)) BEGIN DROP TABLE IF EXISTS newTableName; SET @query= CONCAT('CREATE TABLE newTableName as SELECT * from DemoTable1973 WHERE StudentName like ''%',tbl,'%'''); PREPARE ps FROM @query; EXECUTE ps; END // Query OK, 0 rows affected (0.00 sec) mysql> DELIMITER ;

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

mysql> call demo_create('newTableName','John'); Query OK, 2 rows affected (0.00 sec)

नई टेबल से डेटा देखें:

mysql> select * from newTableName;

आउटपुट:

+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ |       102 | John Doe    | |       104 | John Smith  | +-----------+-------------+ 2 rows in set (0.00 sec)

नोट: डायनामिक SQL में टेबल नाम और LIKE पैटर्न को CONCAT से जोड़ा जाता है।

  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

  1. - MySQL स्टोर्ड प्रोसीजर में डिलीमीटर का सही उपयोग और मान डालना

    समस्या स्टोर्ड प्रोसीजर बनाते समय डिफ़ॉल्ट डिलीमीटर (;) क्वेरी को जल्दी समाप्त कर देता है। समाधान DELIMITER बदलें, प्रोसीजर बनाएं, फिर डिलीमीटर बहाल करें। उदाहरण टेबल बनाएं: ); स्टोर्ड प्रोसीजर बनाएं DELIMITER ; प्रोसीजर कॉल करें CALL insert_name(Chris, Brown); परिणाम +------------------+---

  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 | +