जब तक आपका SELECT
सबक्वेरी एक ही पंक्ति देता है, आपका UPDATE
कथन त्रुटि के साथ विफल होना चाहिए
ORA-01427: single-row subquery returns more than one row
आम तौर पर, मट्ठा आपके पास एक सहसंबंधित अद्यतन होता है, आपको कुछ शर्त की आवश्यकता होती है जो बाहरी तालिका में पंक्तियों से संबंधित होती है T1
यह सुनिश्चित करने के लिए कि सबक्वायरी एक पंक्ति लौटाती है, आंतरिक सबक्वायरी में पंक्तियों के लिए। यह आम तौर पर कुछ इस तरह दिखाई देगा
UPDATE table1 t1 SET (t1.col,t1.Output) = (
SELECT t2.col, t3.Output + t2.col
FROM tabl2 t3
LEFT JOIN table1 t2 ON t3.Join_Key = t2.Join_Key
WHERE t2.col is not NULL
AND t1.some_key = t2.some_key);
अंत में, यह UPDATE
स्टेटमेंट हर पंक्ति को T1
. में अपडेट कर रहा है . क्या आपका यही इरादा है? या क्या आप केवल उन पंक्तियों को अपडेट करना चाहते हैं, जहां, उदाहरण के लिए, आपको अपनी सबक्वेरी में एक मिलान मिलता है?