खोज…


वाक्य - विन्यास

  • अद्यतन तालिका
    SET column_name = value , column_name2 = value_2 , ..., column_name_n = value_n
    जहां शर्त ( तार्किक ऑपरेटर condition_n)

सभी पंक्तियों को अद्यतन करना

यह उदाहरण उदाहरण डेटाबेस से कारों की तालिका का उपयोग करता है।

UPDATE Cars
SET Status = 'READY'

यह कथन 'कार' तालिका की सभी पंक्तियों के 'स्थिति' कॉलम को "READY" पर सेट करेगा क्योंकि इसमें पंक्तियों के सेट को फिल्टर करने के लिए WHERE क्लॉज नहीं है।

निर्दिष्ट पंक्तियों को अद्यतन करना

यह उदाहरण उदाहरण डेटाबेस से कारों की तालिका का उपयोग करता है।

UPDATE 
    Cars
SET 
    Status = 'READY'
WHERE 
    Id = 4

यह कथन आईडी 4 के साथ "READY" की पंक्ति की स्थिति निर्धारित करेगा।

WHERE खंड में एक तार्किक अभिव्यक्ति होती है, जिसका मूल्यांकन प्रत्येक पंक्ति के लिए किया जाता है। यदि कोई पंक्ति मानदंड पूरा करती है, तो उसका मान अद्यतन किया जाता है। अन्यथा, एक पंक्ति अपरिवर्तित रहती है।

मौजूदा मूल्यों को संशोधित करना

यह उदाहरण उदाहरण डेटाबेस से कारों की तालिका का उपयोग करता है।

UPDATE Cars
SET TotalCost = TotalCost + 100
WHERE Id = 3 or Id = 4

अद्यतन कार्रवाई में अद्यतन पंक्ति में वर्तमान मान शामिल हो सकते हैं। इस सरल उदाहरण में TotalCost को दो पंक्तियों के लिए 100 से TotalCost है:

  • कार # 3 की TotalCost को 100 से बढ़ाकर 200 किया गया है
  • कार # 4 की TotalCost को 1254 से बढ़ाकर 1354 किया गया है

एक स्तंभ का नया मान उसके पिछले मान या उसी तालिका या किसी सम्मिलित तालिका में किसी अन्य स्तंभ के मान से प्राप्त किया जा सकता है।

किसी अन्य तालिका के डेटा के साथ अद्यतन करें

नीचे दिए गए उदाहरण किसी भी कर्मचारी के लिए PhoneNumber में भरते हैं, जो एक Customer भी है और वर्तमान में Employees तालिका में एक फ़ोन नंबर सेट नहीं है।

(ये उदाहरण उदाहरण डेटाबेस से कर्मचारी और ग्राहक तालिकाओं का उपयोग करते हैं।)

मानक एसक्यूएल

एक सहसंबद्ध सबक्वेरी का उपयोग करके अपडेट करें:

UPDATE 
    Employees
SET PhoneNumber =
    (SELECT 
         c.PhoneNumber
     FROM 
         Customers c
     WHERE 
         c.FName = Employees.FName 
         AND c.LName = Employees.LName)
WHERE Employees.PhoneNumber IS NULL

एसक्यूएल: 2003

MERGE का उपयोग करके अपडेट करें:

MERGE INTO 
    Employees e
USING 
    Customers c 
ON 
    e.FName = c.Fname 
    AND e.LName = c.LName
    AND e.PhoneNumber IS NULL
WHEN MATCHED THEN
   UPDATE 
      SET PhoneNumber = c.PhoneNumber

एस क्यू एल सर्वर

INNER JOIN का उपयोग करके अपडेट करें:

UPDATE 
    Employees
SET 
    PhoneNumber = c.PhoneNumber
FROM 
    Employees e
INNER JOIN Customers c
        ON e.FName = c.FName 
        AND e.LName = c.LName
WHERE 
    PhoneNumber IS NULL

अद्यतित रिकॉर्ड को कैप्चर करना

कभी-कभी कोई उन रिकॉर्ड्स को पकड़ना चाहता है जो अभी अपडेट किए गए हैं।

CREATE TABLE #TempUpdated(ID INT)

Update TableName SET Col1 = 42
    OUTPUT inserted.ID INTO #TempUpdated
    WHERE Id > 50


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow