if statement - Variable is getting NULL after calculations in MySQL Trigger -


मेरे पास Initial_Fees नामक तालिका है। इस तालिका में एक कॉलम है जिसका नाम Initial_Consult_Fee है, जहां यह प्रति वर्ष 30,000 से अधिक नहीं हो सकता है नीचे मेरी टेबल है।

  CREATE TABLE `initial_fees` (` idInitial_Fees` पूर्णांक (11) नहीं NULL AUTO_INCREMENT, `idPortfolio` पूर्णांक (11) नहीं NULL,` Current_Time_Stamp` टाइमस्टैम्प नहीं NULL डिफ़ॉल्ट CURRENT_TIMESTAMP अद्यतन CURRENT_TIMESTAMP पर, `Initial_Gross_Fee` डबल नहीं NULL,` Initial_Consult_Fee` डबल नहीं NULL, `Updated_Date` तारीख नहीं NULL,` idTransactions` पूर्णांक (11) डिफ़ॉल्ट शून्य, प्राथमिक कुंजी ( `idInitial_Fees`))   

तो, मैंने एक ट्रिगर बनाया, जो जांच करेगा, चाहे Initial_Consult_Fee 30,000 से ऊपर हो या नहीं। इसके अलावा, यह सभी मानों को पूरा करेगा।

  DELIMITER $ 3 आरंभ करने से पहले 'आरम्भिक_फिस्बीआईएनएस' प्रत्येक पंक्ति के लिए INitial_Fees` पर शुरू होने से पहले 'प्रारंभिक' दोहरे सेट शुरू होगा; घोषणा 'चालू' दोहरे; चयन 'कुल' दोहरे; डिस्लेर `वैल्यूएफ़ीइन्टेड` दोहरे; सेट `initial`: = (चयन योग (` Initial_Consult_Fee`) `Initial_Fees` से जहां` Updated_Date` MAKEDATE (YEAR (New.Updated_Date), 1) और MAKEDATE (YEAR (New.Updated_Date), 365) के बीच); सेट `ongoing`: = (योगफल (` Ongoing_Consult_Fee` का चयन करें) से `Ongoing_Fees` जहां` Updated_Date` MAKEDATE (YEAR (New.Updated_Date), 1) और MAKEDATE (YEAR (New.Updated_Date), 365) के बीच); सेट `कुल`: =` प्रारंभिक` + `चालू`; IF ((New.Initial_Consult_Fee + `कुल`) & gt; 30000) फिर सेट` मूल्य 'को दोबारा: = 30000 - `कुल`; अगर अंत; यदि ((नया। प्रारंभिक_Consult_Fee + `कुल`) लेफ्टिनेंट; 30000) फिर सेट` मूल्य 'को दोबारा: = New.Initial_Consult_Fee; अगर अंत; SET New.Initial_Gross_Fee = ROUND (नया। प्रारंभिक_ग्रास्_फ़ी, 2), नया। प्रारंभिक_Consult_Fee = राउंड (`valueToBeEntered`, 2); समाप्त;   

हालांकि, जब मैं डेटा दर्ज करता हूँ, और यदि New.Initial_Vision_Fee + total मुझे नीचे त्रुटि मिलती है

  कॉलम ' Initial_Consult_Fee 'निरर्थक नहीं हो सकता   

मेरे कोड में क्या गलत है?

< P> कुछ टिप्पणियां।

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

दूसरा, आपकी समस्या तब होती है जब ingoing < / कोड> या जावक तालिकाओं। फिर अपने वेरिएबल्स के मान हैं NULL

आप इसे आसानी से ठीक कर सकते हैं:

  SET `total`: = coalesce (`प्रारंभिक`, 0) + संलिप्त (` चालू`, 0);    

Comments

Popular posts from this blog

java - ImportError: No module named py4j.java_gateway -

python - Receiving "KeyError" after decoding json result from url -

.net - Creating a new Queue Manager and Queue in Websphere MQ (using C#) -