Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ORA-28113:नीति विधेय में त्रुटि है

(वर्ष पुराना प्रश्न है, लेकिन जब से मैं इस पर ठोकर खाई हूं, मैं आगे बढ़ूंगा और किसी और के लिए इसका उत्तर दूंगा...)

ORA-28113 का सीधा सा मतलब है कि जब आपका पॉलिसी फंक्शन जहां क्लॉज लौटाता है, तो परिणामी SQL में कुछ त्रुटि होती है। आप ट्रेस फ़ाइल को देखकर विवरण प्राप्त कर सकते हैं। इसके अलावा, कोशिश करें:

select Select_Nhanvien('myschema','mytable') from dual;

और फिर परिणामों को इस तरह WHERE क्लॉज में जोड़ें:

SELECT * FROM MYTABLE WHERE <results from above>;

और फिर आपको मूल कारण देखना चाहिए। मैं अनुमान लगा रहा हूं कि 'अन्य उपयोगकर्ता' के ऊपर के मामले में या तो sys_context वेरिएबल्स नहीं थे जो क्लॉज बनाने के लिए आवश्यक थे, या लॉगिन ट्रिगर तक पहुंच।

एक साइड नोट के रूप में, एक और समस्या जिसे आप यहां चला सकते हैं वह सर्कुलर संदर्भ है जब आपका पॉलिसी फ़ंक्शन अपनी तालिका का संदर्भ देता है - आदर्श रूप से मैं पॉलिसी फ़ंक्शन से पॉलिसी फ़ंक्शन के भीतर स्वयं को बाईपास करने की अपेक्षा करता हूं ताकि आप EXISTS आदि नहीं कर सकें, लेकिन यह ' ऐसा लगता है कि इस तरह से काम नहीं कर रहा है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. खंड से के लिए एक स्तंभ से तालिका का नाम प्राप्त करें

  2. क्या ODP.NET के लिए OracleCommand.BindByName को डिफ़ॉल्ट रूप से सत्य होने के लिए बाध्य करने का कोई तरीका है?

  3. प्रदर्शन ट्यूनिंग भूलभुलैया

  4. ऑरैकल में मर्ज स्टेटमेंट के साथ ट्रिगर

  5. कुछ उपयोगकर्ता समूहों के लिए कुछ चीजें दिखाने के लिए मैं एपेक्स ग्रिड में डेटा कैसे फ़िल्टर कर सकता हूं?