ठीक है, मुझे लगता है कि मुझे समझ में आ रहा है कि क्या हो रहा है। आपके प्रश्न का उत्तर बिल्कुल विशाल है हां . यदि आप इस ट्रिगर को अक्षम करते हैं तो इसका बड़ा प्रभाव हो सकता है।
यह ट्रिगर मौजूद होने का कारण उस स्थिति से निपटना है जहां प्राथमिक कुंजी मान नहीं है आपकी तालिका में एक डालने पर प्रदान किया गया। अगर ऐसा होता है कहीं भी आपके कोड में वे ट्रिगर को हटाने से वे इंसर्ट टूट जाएंगे।
आपको दो काम करने होंगे।
-
ट्रिगर ठीक करें, यह स्पष्ट रूप से टूटा हुआ है; इसे ठीक करें:
प्रत्येक पंक्ति के लिए PRIVILEGE पर डालने से पहले अगर अंत; समाप्त;यदि आप Oracle 11G या इससे अधिक का उपयोग कर रहे हैं तो आप इसके बजाय इसका उपयोग कर सकते हैं:
यदि :NEW.PRIVILEGE_ID रिक्त है तो :NEW.PRIVILEGE_ID :=PRIVILEGE_SEQ.nextval; अगर अंत;
-
पता करें कि क्या वास्तव में ऐसा होता है। यदि आप प्राथमिक कुंजी के बिना रिकॉर्ड सम्मिलित करते हैं तो आपको यह पता लगाना होगा कि ऐसा क्यों हो रहा है और क्या व्यवहार सही है। यदि ऐसा है तो आप ट्रिगर के साथ फंस गए हैं, अन्यथा इसे ठीक करें। यदि आप प्राथमिक कुंजी के बिना कभी भी रिकॉर्ड नहीं डालते हैं तो आप ट्रिगर को अक्षम कर सकते हैं।
पता लगाने का सबसे तेज़ तरीका ट्रिगर को वैसे भी अक्षम करना हो सकता है लेकिन यह आपके आवेषण को तोड़ देगा। यदि यह एक उत्पादन डेटाबेस है तो केवल आप ही बता सकते हैं कि यह इसके लायक है या नहीं। मैं व्यक्तिगत रूप से नहीं करूंगा।