मुझे नहीं लगता कि ब्लैकहोल का कोई वास्तविक लाभ है।
डेटा को इधर-उधर ले जाने के लिए ट्रिगर कोड लिखना शायद पहली बार में डेटा को सही जगह पर डालने के लिए कोड लिखने से कम काम नहीं है।
जैसा कि क्रिश्चियन ऑडर्ड लिखते हैं, यह जटिलता को कम नहीं करता है - बस इसे ऐसी जगह ले जाता है जहां डीबग करना वाकई मुश्किल होता है।
नकारात्मक पक्ष पर:
सॉफ़्टवेयर विकास में "दुष्प्रभाव" आमतौर पर एक बुरा विचार है। ट्रिगर साइड इफेक्ट हैं - मैं एक काम करना चाहता हूं (तालिका में डेटा डालें), और यह वास्तव में बहुत सी अन्य चीजें करता है। अब, जब मैं अपना कोड डिबग कर रहा हूं, तो मुझे अपने सिर में भी सभी साइड इफेक्ट्स रखना होगा - और साइड इफेक्ट्स के साइड इफेक्ट्स हो सकते हैं।
अधिकांश सॉफ्टवेयर विकास की तुलना में रखरखाव में कहीं अधिक समय व्यतीत करते हैं। नए डेवलपर्स को टीम में लाने और ब्लैक होल ट्रिक की व्याख्या करने से सीखने की अवस्था में वृद्धि होने की संभावना है - नगण्य लाभ के लिए (मेरे विचार में)।
क्योंकि ट्रिगर साइड इफेक्ट होते हैं, और यदि आप सावधान नहीं हैं, तो ट्रिगर्स के एक विशाल कैस्केड को सेट करना अपेक्षाकृत आसान है, मैंने हमेशा ट्रिगर्स पर निर्भरता के बिना अपने डेटाबेस को डिज़ाइन करने का प्रयास किया है; जहां ट्रिगर स्पष्ट रूप से जाने का सही तरीका है, मैंने केवल अपने सबसे अनुभवी डेवलपर्स को उन्हें बनाने दिया है। ब्लैक होल ट्रिक ट्रिगर्स को काम करने का एक सामान्य, नियमित तरीका बनाती है। यह एक व्यक्तिगत दृष्टिकोण है, निश्चित रूप से।