परिदृश्य:
आप एक कानूनी फर्म के लिए SQL सर्वर डेवलपर के रूप में काम कर रहे हैं। आपने नीचे परिभाषा का उपयोग करके एक dbo.Customer तालिका बनाई हैतालिका ग्राहक बनाएं ( CustomerId INT Identity(1, 1), FirstName VARCHAR(50), LastName VARCHAR(50), Age SMALLINT , फोन नंबर चार्ज (9), जन्म तिथि, लिंग चार्ज (1))
आपके पास पूरा नाम होना चाहिए जिसमें प्रथम नाम और अंतिम नाम शामिल होना चाहिए। आप पूर्ण नाम के लिए नया कॉलम जोड़कर डुप्लिकेट डेटा को तालिका में सहेजना नहीं चाहते हैं। आपके पास क्या विकल्प हैं?
आयु के आधार पर, हम नया कॉलम कॉल IsSenior जोड़ना चाहते हैं और यदि 65 से ऊपर है तो इसे 1 चिह्नित करें और 0.
समाधान:
SQL सर्वर हमें कंप्यूटेड कॉलम प्रदान करता है, जो कि वर्चुअल कॉलम है और यह डेटा को तब तक स्टोर नहीं करता जब तक कि इसे पर्सिस्टेड के रूप में चिह्नित नहीं किया जाता है। इसका मतलब है कि हम गणना कॉलम (पूरा नाम) बना सकते हैं जो प्रथम नाम और अंतिम नाम डेटा का उपयोग करेगा। कंप्यूटेड कॉलम बनाकर हमें पूरे नाम कॉलम के लिए डुप्लीकेट डेटा सेव करने की जरूरत नहीं है।CREATE TABLE Customer (CustomerId INT Identity(1, 1), FirstName VARCHAR(50), LastName VARCHAR(50), Age SMALLINT, PhoneNumber CHAR(9), DOB DATE, Gender CHAR(1), FullName as FirstName + ' ' + LastName , IsSenior as Case जब उम्र> 65 तब 1 ELSE 0 END )हमने पूरे नाम के लिए प्रथम नाम और अंतिम नाम को जोड़ दिया और इससीनियर कंप्यूटर कॉलम के लिए केस स्टेटमेंट लिखा। आइए आगे बढ़ें और कुछ रिकॉर्ड डालें।
dbo में डालें। Customer(FirstName, LastName, Age) Values('Aamir','Shahzad',66), ('Raza', 'एम',44)
ध्यान दिया कि मैंने FullName और IsSenior Columns के लिए कुछ भी नहीं डाला है। इन स्तंभों के मानों की गणना तब की जाएगी जब हम डेटा का चयन करेंगे।
एसक्यूएल सर्वर टेबल में कंप्यूटेड कॉलम कैसे जोड़ें - टी-एसक्यूएल ट्यूटोरियल
अगर आपको बाहर निकलने वाली तालिका में परिकलित कॉलम जोड़ना होगा, आप नीचे दिए गए सिंटैक्स का उपयोग कर सकते हैं
टेबल स्कीमानाम बदलें।टेबलनाम
कॉलमनाम AS लॉजिक जोड़ें(जैसे FistName +''+LastName)
अगर हम चाहते हैं तो मान लें ग्राहक तालिका में पूरा नाम कंप्यूटर कॉलम जोड़ें, हम नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।
एसक्यूएल सर्वर टेबल से कंप्यूटेड कॉलम ड्रॉप करें:
गणना या सामान्य कॉलम को छोड़ने का सिंटैक्स समान है।
टेबल स्कीमानाम बदलें।टेबलनाम
कॉलम कॉलमनाम छोड़ें
मान लें कि हम ड्रॉप करना चाहते हैं dbo.Customer Table से FullName परिकलित कॉलम। हम नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।
तालिका dbo बदलें।ग्राहक ड्रॉप कॉलम FullName