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

एक पैरामीटर प्राप्त करने के लिए डायनामिक एसक्यूएल और इसे संग्रहीत प्रक्रिया के अंदर बनाई गई नई तालिका के लिए LIKE में उपयोग करें

<घंटा/>

इसके लिए तैयार कथन का प्रयोग करें। आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable1973 (StudentId int, StudentName varchar(20));क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

mysql> DemoTable1973 मानों में डालें (101, 'क्रिस'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) mysql> DemoTable1973 मानों में डालें (102, 'जॉन डो'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 sec)mysql> DemoTable1973 मानों में डालें (103, 'डेविड'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) mysql> DemoTable1973 मानों में डालें (104, 'जॉन स्मिथ'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) )

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> DemoTable1973 से * चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+-----------+---------------+| छात्र आईडी | छात्र का नाम |+-----------+---------------+| 101 | क्रिस || 102 | जॉन डो || 103 | डेविड || 104 | जॉन स्मिथ |+----------+----------------+4 पंक्तियों में सेट (0.00 सेकंड)

संग्रहित प्रक्रिया बनाने के लिए क्वेरी निम्नलिखित है और LIKE क्लॉज के साथ एक नई तालिका जिसमें प्रक्रिया कॉल से मूल्य है -

mysql> DELIMITER //mysql> PROCEDURE डेमो_क्रिएट बनाएं (IN newTableName varchar(20),IN tbl varchar(20)) BEGIN DROP TABLE IF EXISTS newTableName; SET @query=CONCAT('DemoTable1973 से SELECT * के रूप में टेबल न्यूटेबलनाम बनाएं जहां स्टूडेंटनाम जैसे ''%', tbl, '%'''); @query से पीएस तैयार करें; पीएस निष्पादित करें; END//क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हुई हैं (0.00 सेकंड)mysql> DELIMITER;

कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल करें -

mysql> कॉल demo_create('newTableName','John');क्वेरी ओके, 2 पंक्तियाँ प्रभावित (0.00 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> newTableName से * चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+-----------+---------------+| छात्र आईडी | छात्र का नाम |+-----------+---------------+| 102 | जॉन डो || 104 | जॉन स्मिथ |+----------+---------------+2 पंक्तियों में सेट (0.00 सेकंड)
  1. MySQL संग्रहीत कार्यविधि SHOW CREATE TABLE निष्पादित करने के लिए?

    किसी संग्रहीत कार्यविधि में SHOW CREATE TAB निष्पादित करने के लिए, SHOW CREATE TABLE का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.80 सेकंड) SHOW CREATE TABLE निष्पादित करने वाली संग्रहीत प्रक्रिया निम्नलिखित है - सीमांकक; कॉल कमांड का उपयोग करके संग्रहीत कार्य

  1. एक MySQL संग्रहीत प्रक्रिया में डिलीमीटर का सही ढंग से उपयोग कैसे करें और मान डालें?

    आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.87 सेकंड) यहाँ एक संग्रहीत कार्यविधि बनाने और मान सम्मिलित करने के लिए क्वेरी है (सही ढंग से सीमांकक का उपयोग करके) - सीमांकक; कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल करें - कॉल इन्सर्ट_नाम (क्रिस, ब्राउन); क्वेरी ओके,

  1. एक MySQL संग्रहीत प्रक्रिया के अंदर डायनामिक SQL क्वेरी लागू करें?

    संग्रहीत कार्यविधि में गतिशील SQL क्वेरी के लिए, PREPARE STATEMENT की अवधारणा का उपयोग करें। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable2033    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> Name varchar(20)    -> ); Que