ORA एक ऑपरेशन का एक परिणाम के रूप में मर्ज 30926 त्रुटि

ORA-30926 त्रुटि आमतौर पर तब होता है जब मर्ज कार्य है, और यह गलत है कि हम सामान्य छोड़ कुछ है, क्योंकि यह का वर्णन हो रहा है क्या जानकारी के बारे में ज्यादा नहीं देने के लिए नहीं:
30926-ORA: टेबल असमर्थ स्रोत में पाने के लिए पंक्तियों की सितंबर में स्थिर.

सामान्य रूप से इस त्रुटि तब होती है जब लक्ष्य एक पंक्ति आपरेशन मर्ज करने के लिए तालिका में स्रोत के लिए एक से अधिक पंक्ति उसे रूप से अद्यतन के अंतर्गत. के रूप में इंजन नहीं जानता है जो रिकॉर्ड एक त्रुटि लाता है चुनने के लिए. यह तालिका स्रोत में दोहराव से एक है एक समस्या है.

उदाहरण:

  • हम हैं:
    TABLA_ORIGENमूल्यों के साथ
    आईडी विवरण
    1 'पहले मान'
    1 'आईडी मूल्य दोगुना हो'
    2 'एक और मूल्य' और TABLA_DESTINO मूल्यों के साथ
    आईडी विवरण
    1 'मान अद्यतन करने के लिए'
    2 'यह न होगा मुसीबत'
    3 'यह एक ही रहता है'
  • हम चाहते हैं निम्नलिखित कथन को मर्ज का उपयोग:

dest मर्ज में TABLA_DESTINO
TABLA_ORIGEN का उपयोग Ori
पर (dest.ID = ori.ID)
b.Descripcion जब मिलान किया तब अद्यतन सेट a.Descripcion;

इस डेटा के साथ हम TABLA_ORIGEN पर निम्नलिखित त्रुटि मिलती है:
30926-ORA असफल टेबल स्रोत पंक्तियों में सेट करने के लिए एक स्थिर

  • इस त्रुटि को हम 3 विकल्प हैं को देखते हुए: 1 -.नष्ट स्रोत तालिका से डुप्लीकेट रिकॉर्ड:

और विवरण = '' आईडी मूल्य दोगुना TABLA_ORIGEN DELETE कहाँ से आईडी = 1

2 -. मुख्य तरीके कि हम बनाने में शामिल की समीक्षा विलय:

अगर हम भी कड़ी मैदान पर विवरण का उपयोग करें और वहाँ गंतव्य होगा प्रत्येक केवल रिकॉर्ड स्रोत के लिए एक शून्य या:

dest मर्ज में TABLA_DESTINO
TABLA_ORIGEN का उपयोग Ori
पर (और dest.Descripcion ori.ID dest.ID = Ori वर्णन.)
b.Descripcion जब मिलान किया तब अद्यतन सेट a.Descripcion;

(इस उदाहरण में ज्यादा मतलब नहीं है क्योंकि तालिका बस इन दो क्षेत्रों करता है, और यह भी करता है मेल पाने में शामिल नहीं)

3 -.की बजाय मर्ज का उपयोग के साथ अद्यतन शामिल हों और सुझाव / * + BYPASS_UJVC * / इंजन सत्यापन करने के लिए छोड़, और अपनी उंगलियों को पार:

अद्यतन / + * BYPASS_UJVC * /
(Ori_ID ori.ID का चयन करें,
और नायब
सपा, ori.Descripcion ori_Descripcion,
dest.ID dest_ID,
dest_Descripcion dest.Descripcion
से Ori TABLA_ORIGEN, dest TABLA_DESTINO
कहां ori.ID = dest.ID)
सेट dest_Descripcion = ori_Descripcion;

जाहिर है सबसे की सिफारिश की पहली या दूसरी, के रूप में उपयुक्त हैं.