खोज…
वाक्य - विन्यास
- अद्यतन तालिका
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