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 'निरर्थक नहीं हो सकता
ingoing < / कोड> या
जावक तालिकाओं। फिर अपने वेरिएबल्स के मान हैं
NULL ।
SET `total`: = coalesce (`प्रारंभिक`, 0) + संलिप्त (` चालू`, 0);
Comments
Post a Comment