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

ORA-01775:समानार्थक शब्द की लूपिंग श्रृंखला लेकिन समानार्थी शब्द नहीं हैं

मुझे नहीं पता कि आपको समानार्थी त्रुटि क्यों मिल रही है। लेकिन यह उस चीज़ के लिए बहुत अधिक कोड है जो एक एकल DELETE कथन होना चाहिए। मुझे लगता है कि आपने रोलबैक त्रुटियों से बचने के लिए इसे प्रतिबद्ध-हर-एन में बदल दिया है। यह अच्छा होगा यदि आप पूर्ववत स्थान को बढ़ाने के लिए अपना डीबीए प्राप्त कर सकें ताकि आप वास्तव में वह काम कर सकें जो आपको करने की ज़रूरत है। ऐसा न होने पर, मुझे लगता है कि आप इसे और भी आसान बना सकते हैं:

LOOP
  DELETE FROM log_master
    WHERE last_changed_date < :purge_date
      AND event_id = :event_id
      AND rownum <= :batch_delete_limit
    USING purge_date, event_id, l_bulk_collect_limit;
  EXIT WHEN SQL%NOTFOUND;
END LOOP;

और यदि आप चाहें तो अपने पुन:प्रयास तर्क को उसके इर्द-गिर्द फेंक सकते हैं।

क्षमा करें यदि मुझसे कुछ सूक्ष्मता छूट गई है जो इसे आपके द्वारा किए जा रहे कार्यों से अलग बनाती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में Oracle प्रक्रिया संग्रहीत फ़ंक्शन कॉल कैसे करती है?

  2. BEGIN/END में प्रयुक्त बाइंड वैरिएबल साफ़ हो जाता है

  3. ओरेकल प्रक्रिया सी # में बूलियन पैरामीटर कैसे पास करें

  4. Oracle info_schema.tables के बराबर

  5. R12.2 अपग्रेड पार्ट -1 . के लिए चरण दर चरण अपग्रेड प्रक्रिया