यह सिंथैक्स ओरेकल एसक्यूएल में काम नहीं करेगा।
ओरेकल में आप कभी कभी एक में शामिल होने अगर टेबल "कुंजी से संरक्षित" कर रहे हैं अद्यतन कर सकते हैं, यानी:
UPDATE (SELECT a.val_a, b.val_b
FROM table a
JOIN table b ON a.b_pk = b.b_pk)
SET val_a = val_b
मान लिया जाये कि b_pk
b
की प्राथमिक कुंजी है, यहाँ में शामिल होने कि वजह से प्रत्येक पंक्ति के लिए अपडेट किए ए पर बी से एक पंक्ति है, इसलिए अद्यतन निर्धारक है।
अद्यतन मूल्य के बाद से आपके मामले में एक और मेज पर कुछ इस तरह निर्भर नहीं करता है कि आप एक अस्तित्व शर्त के साथ एक सरल अद्यतन इस्तेमाल कर सकते हैं,:
UPDATE mytable t
SET t.VALUE = 'value'
WHERE EXISTS
(SELECT NULL
FROM tableb b
INNER JOIN tablec c ON c.id = b.id
INNER JOIN tabled d ON d.id = c.id
WHERE t.id = b.id
AND d.key = 1)
स्रोत
2012-02-23 10:30:32
आप अपने जवाब का विस्तार कर सकते हैं एक में शामिल करने के आपके कोड का स्पष्टीकरण? यह पाठक को आपके विचार से ज्यादा मदद करता है। 1000 से अधिक रिकॉर्ड होने पर – gunr2171
'इन' कीवर्ड काम नहीं करेगा। तो यह जवाब अमान्य है। –