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

ट्रिगर में त्रुटि संदेश खराब बाइंड वैरिएबल

ट्रिगर को ACCOUNT . पर परिभाषित किया गया है मेज़। आपने CUSTOMER . की परिभाषा पोस्ट कर दी है मेज़। जब तक ACCOUNT तालिका में कॉलम हैं CustName और DOB , जो अत्यधिक असंभव लगता है, आप :new.CustName . का संदर्भ नहीं ले सकते या :new.DOB -- :new रिकॉर्ड उस पंक्ति के लिए है जिसे वर्तमान में ACCOUNT . में डाला जा रहा है मेज़।

आप CustName कहां प्राप्त करना चाहते हैं? और DOB CUSTOMER . में डालने के लिए टेबल?

एक कदम पीछे हटते हुए, Account . पर एक ट्रिगर क्यों है? तालिका CUSTOMER में एक पंक्ति डालने का प्रयास कर रही है पहले स्थान पर तालिका। यह एक असाधारण रूप से खराब डिजाइन की तरह लगता है। CustID Account . में तालिका संभवतः एक विदेशी कुंजी होगी जो CUSTOMER . का संदर्भ देती है मेज़। हालांकि, इसका मतलब यह होगा कि आप केवल मूल पंक्ति को एक ट्रिगर में सम्मिलित कर सकते हैं यदि आप बाधाओं को आस्थगित घोषित करते हैं और प्रत्येक लेनदेन की शुरुआत में उन्हें स्थगित कर देते हैं। ट्रिगर के पास आमतौर पर CUSTOMER . के लिए जानकारी निर्धारित करने का कोई तरीका नहीं होगा आप जिन स्तंभों को पॉप्युलेट करना चाहते हैं, जो आपको प्राप्त होने वाली त्रुटि का स्रोत है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle PLSQL में किसी भी वर्ष के लिए ईस्टर की तिथियां निर्धारित करना

  2. GI 12.2 अपग्रेड के लिए ASM में VOTE डिस्कग्रुप बढ़ाएँ

  3. Oracle SQL ऑटो जनरेटेड पहचान प्राथमिक कुंजी

  4. ORA-00942:मिश्रित केस तालिका और स्तंभों के लिए तालिका या दृश्य मौजूद नहीं है

  5. PHP और Oracle - oci_connect() ORA-12705:NLS डेटा फ़ाइलों तक नहीं पहुंच सकता