मैं यहां पोस्ट करने वाले अन्य लोगों के रूप में भाग्यशाली नहीं हूं। जिस कोड के साथ मैं काम करता हूं वह आम तौर पर किसी और द्वारा लिखा जाता है और यह दुर्लभ है कि सीएएसई कथन या अन्य गणना, concatenations या तर्क नहीं हैं जो T_SQL स्क्रिप्ट की कई पंक्तियों पर एक एकल प्रविष्टि का कारण बनता है।
'एएस' के बजाए बराबर चिह्न का उपयोग करना पढ़ने के लिए कहीं अधिक आसान है। एक बराबर चिह्न के साथ आप जानते हैं कि ऊर्फ नाम जो आप खोज रहे हैं वह पंक्ति की पहली स्थिति में है। जब 'एएस' का उपयोग किया जाता है और T_SQL कई पंक्तियों को फैलाता है, तो उपनाम का नाम सचमुच कहीं भी हो सकता है।
'एएस' का उपयोग होने पर बराबर होने पर 'आइटम' उपनाम को खोजने के लिए अब तक कहीं अधिक आसान है।
SELECT
ElementObligationID = @MaxElementObligationID + eo.ElementObligationID
, ElementID = eo.ElementID
, IsotopeID = eo.IsotopeID
, ObligationID = eo.ObligationID
, ElementWeight = eo.ElementWeight * -1
, FissileWeight = eo.FissileWeight * -1
, Items = CASE WHEN eo.Items < 0 THEN eo.Items * -1
WHEN eo.Items > 0 THEN eo.Items
ELSE 0 END
, Comment = eo.Comment
, AdditionalComment = eo.AdditionalComment
, Aanmaak_userid = @UserID
, Aanmaak_tijdstip = GetDate()
, Laatste_wijziging_userid = @UserID
, Laatste_wijziging_tijdstip = GetDate()
FROM dbo.KTM_ElementObligation eo
INNER JOIN dbo.KTM_ElementObligationArticle eoa ON
eoa.ElementObligationID = eo.ElementObligationID
अब 5 से अधिक बार कोड यहाँ है कि की राशि होने और 'आइटम' उर्फ खोजने के लिए की आवश्यकता होगी, कल्पना।
SELECT
@MaxElementObligationID + eo.ElementObligationID AS ElementObligationID
, eo.ElementID AS ElementID
, eo.IsotopeID AS IsotopeID
, eo.ObligationID AS ObligationID
, eo.ElementWeight * -1 AS ElementWeight
, eo.FissileWeight * -1 AS FissileWeight
, CASE WHEN eo.Items < 0 THEN eo.Items * -1
WHEN eo.Items > 0 THEN eo.Items
ELSE 0 END AS Items
, eo.Comment AS Comment
, eo.AdditionalComment AS AdditionalComment
, @UserID AS Aanmaak_userid
, GetDate() AS Aanmaak_tijdstip
, @UserID AS Laatste_wijziging_userid
, GetDate() AS Laatste_wijziging_tijdstip
FROM dbo.KTM_ElementObligation eo
INNER JOIN dbo.KTM_ElementObligationArticle eoa ON
eoa.ElementObligationID = eo.ElementObligationID
'एएस' बनाम '=' एक मज़बूत और मनमाने ढंग से वरीयता नहीं है। मैं अतिसंवेदनशील नहीं हूं जब मैं कहता हूं कि ऐसे समय होते हैं जब उपनाम नाम ढूंढने में कई मिनट लगते हैं, क्योंकि मैं अब स्क्रिप्ट के लेखक को बनाए रखने का प्रभारी हूं, उनके उपनाम के साथ बराबर चिह्न का उपयोग नहीं करता था। मैं कोड में उपनाम नामों को देखने के लिए आईटी पेशेवर का भुगतान करने के बजाय समय, धन और संसाधनों की एक बड़ी बर्बादी के बारे में नहीं सोच सकता !! यदि आप रखरखाव, पठनीयता और दक्षता पर ध्यान रखते हैं तो एक सही और गलत जवाब है। आपका काम व्यवसाय मूल्य प्रदान करना है, अपने दिन को वाल्डो की तलाश न करें!
मुझे अपनी प्रेरणाओं पर विस्तार करना चाहिए। मुझे लंबे और घोंसले वाले प्रश्नों में एलियाड कॉलम की खोज करना सबसे कठिन और संभावित रूप से क्वेरी को बनाए रखने के त्रुटि प्रवण भाग के रूप में खोजता है। आईएमएचओ अन्य संभावित परिणामों जैसे कि चयन = बनाम = और जहां खंड और अन्य में एक परेशानी का बहुत कम है और मुझे आश्चर्य हुआ कि अन्य राय क्या हैं? – mwjackson
आपके पास मेरा वोट है ... लेकिन ऐसा लगता है कि हम –
से अधिक हैं, ऐसा दिखाई देगा। मुझे लगता है कि महत्वपूर्ण बात यह है कि इसकी पठनीय और अच्छी तरह से पहचाना जाता है, जो भी लोग वरीयताएं हैं ... – mwjackson