मेरे पास एक और उप क्वेरी के अनुसार कई तालिकाओं को अपडेट करने का प्रयास है। वाक्य रचना क्या है?
मैंने कोशिश की:
;with sub_query as (....)
update T
set X = Y
from table1 T
inner join sub_query on ...
update T
set X = Y
from table2 T
inner join sub_query on ...
लेकिन मुझे अपडेट table2
क्वेरी में एक त्रुटि मिली:
अमान्य ऑब्जेक्ट नाम 'सब_क्वेरी'।
दूसरी क्वेरी को अपडेट करने के लिए सिंटैक्स क्या होना चाहिए? मैं sub_query
फिर से लिखना नहीं चाहता क्योंकि यह एक बहुत ही जटिल प्रश्न है।
धन्यवाद!
2 जवाब
एक दृश्य का उपयोग करें:
CREATE VIEW view_sub_query .....
UPDATE T SET X=Y FROM table1 T INNER JOIN view_sub_query ON ...
UPDATE T SET X=Y FROM table2 T INNER JOIN view_sub_query ON ...
यदि आपको इसे कई स्थानों पर उपयोग करना है तो टेबल फ़ंक्शन का उपयोग करें:
CREATE FUNCTION fun_sub_query .....
UPDATE T SET X=Y FROM table1 T INNER JOIN fun_sub_query ON ...
UPDATE T SET X=Y FROM table2 T INNER JOIN fun_sub_query ON ...
CTE table
इसे बनाने के बाद केवल एक बार उपयोग किया जाता है! आप इसके बजाय टेबल चर या अस्थायी तालिका का उपयोग कर सकते हैं। ऐशे ही:
CREATE @sub_query (...)
INSERT INTO sub_query ....
UPDATE ...
संबंधित सवाल
नए सवाल
sql
संरचित क्वेरी भाषा (एसक्यूएल) डेटाबेस को क्वेरी करने के लिए एक भाषा है। प्रश्नों में कोड उदाहरण, तालिका संरचना, नमूना डेटा और DBMS कार्यान्वयन के लिए एक टैग (जैसे MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2, आदि) का उपयोग किया जाना चाहिए। यदि आपका प्रश्न केवल एक विशिष्ट DBMS (विशिष्ट एक्सटेंशन / सुविधाओं का उपयोग करता है) से संबंधित है, तो इसके बजाय उस DBMS के टैग का उपयोग करें। एसक्यूएल के साथ टैग किए गए सवालों के जवाब में आईएसओ / आईईसी मानक एसक्यूएल का उपयोग करना चाहिए।