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

MySQL संग्रहीत प्रक्रिया कुछ शर्त के साथ रिकॉर्ड अद्यतन करने के लिए?


इसके लिए आप PROCEDURE में WHERE क्लॉज के साथ UPDATE कमांड का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable -> ( -> Id int, -> FirstName varchar(20), -> LastName varchar(20) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.56 सेकंड)

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

mysql> डेमोटेबल मानों में डालें (101, 'डेविड', 'ब्राउन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> डेमोटेबल मानों में डालें (102, 'क्रिस', 'ब्राउन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.08 सेकंड)mysql> डेमोटेबल मानों में डालें (103, 'जॉन', 'डो'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड)

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

mysql> डेमोटेबल से *चुनें;

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

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

यहाँ एक संग्रहीत कार्यविधि बनाने की क्वेरी है-

mysql> सीमांकक //mysql> प्रक्रिया बनाएं update_sp(fName varchar(20),lName varchar(20)) -> start -> update DemoTable -> set FirstName=fName, -> LastName=lName -> जहां Id=101; -> समाप्त ->//क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.12 सेकंड)mysql> सीमांकक;

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

mysql> कॉल update_sp('एडम','स्मिथ');क्वेरी ओके, 1 पंक्ति प्रभावित, 2 चेतावनियाँ (0.08 सेकंड)

आइए एक बार फिर से टेबल रिकॉर्ड देखें -

mysql> डेमोटेबल से *चुनें;

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

<पूर्व>+----------+-----------+----------+| आईडी | प्रथम नाम | अंतिम नाम |+----------+-----------+----------+| 101 | एडम | स्मिथ || 102 | क्रिस | ब्राउन || 103 | जॉन | डो |+----------+-----------+----------+3 पंक्तियों में सेट (0.00 सेकंड)
  1. MySQL संग्रहीत कार्यविधि में WHERE IN () के साथ कार्य करना

    आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.69 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (102, डेविड); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें - डेमोटेबल से * चुनें;

  1. MySQL के साथ UPDATE स्टेटमेंट में if स्टेटमेंट का उपयोग करके सेट की गई शर्तों के साथ रिकॉर्ड प्रदर्शित करें

    आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.97 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable(StudentName,StudentMarks) में डालें मान (माइक, 45); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित कर

  1. MySQL में संग्रहीत कार्यविधि से तालिका रिकॉर्ड प्रदर्शित करें

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1933 ( ClientName varchar(20) );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1933 मानों में डालें (जॉन डो); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.00 सेकंड) चयन कथन का उपयोग करके तालिका से