जब मैं इसे चलाता हूं तो मुझे "कीवर्ड में अनुपलब्ध" त्रुटि मिलती है।
क्योंकि ओरेकल में इग्नोर एक कीवर्ड नहीं है। वह है MySQL सिंटैक्स।
आप क्या कर सकते हैं MERGE का उपयोग करें।
merge into table1 t1
using (select 'value1' as value1 ,value2
from table2
where table2.type = 'ok' ) t2
on ( t1.value1 = t2.value1)
when not matched then
insert values (t2.value1, t2.value2)
/
Oracle 10g से हम दोनों शाखाओं को संभाले बिना मर्ज का उपयोग कर सकते हैं। 9i में हमें "डमी" MATCHED शाखा का उपयोग करना था।
अधिक प्राचीन संस्करणों में या तो एकमात्र विकल्प थे:
- एक INSERT (या एक उप-क्वेरी में) जारी करने से पहले पंक्ति के अस्तित्व के लिए परीक्षण करें;
- INSERT को निष्पादित करने और किसी भी परिणामी DUP_VAL_ON_INDEX त्रुटि को संभालने के लिए PL/SQL का उपयोग करने के लिए।