oracle - Cannot find data after commiting in PL/SQL procedure? -
मेरे पीएल / एसक्यूएल प्रक्रिया में कोड स्निपेट है जो निम्न करता है:
INSERT भुगतान_ओपरेशन (आईडी, ग्राहक, राशि, विवरण) मूल्यों में (भुगतान_आईडी, 1234, 5, 'टेस्ट'); COMMIT; भुगतान_ऑपरेशन_व्यू WHERE आईडी = भुगतान_आईडी से test_subscriber में ग्राहक का चयन करें;
इसके बाद मुझे अपवाद "no_data_found" मिलता है! हालांकि, यदि मैं प्रक्रिया चलाने के बाद स्वयं का एक ही चयन कथन करता हूं, तो मुझे रिकॉर्ड दिखाई देता है।
ध्यान दें कि मैं एक दृश्य से चयन कर रहा हूं, और सीधे तालिका से नहीं। क्यों प्रविष्टि के बाद मैं यह डेटा नहीं देख सकता हूं?
ऐसा लगता है कि जिस संदर्भ का आप उल्लेख कर रहे हैं वह ' भौतिक दृश्य ' यदि हां, तो डेटा प्राप्त करने से पहले दृश्य को मैन्युअल रूप से रीफ़्रेश करने के लिए इस कोड स्निपेट को आज़माएं:
... भुगतान की प्रक्रियाओं (आईडी, ग्राहक, राशि, वर्णन) मूल्यों में भुगतान करें (भुगतान_आईडी, 1234, 5 , 'परीक्षण'); COMMIT; DBMS_SNAPSHOT.REFRESH ('भुगतान_ ऑपरेशन_दृश्य', 'सी'); भुगतान_ऑपरेशन_व्यू WHERE आईडी = भुगतान_आईडी से test_subscriber में ग्राहक का चयन करें; DBMS_OUTPUT.PUT_LINE ('- & gt;' || test_subscriber); ...
आशा है कि यह मदद करता है।
Comments
Post a Comment