1 अप्रैल 2012 को, Microsoft SQL Server 2012 का अंतिम संस्करण उपलब्ध हो गया।
नए संस्करण में बड़ी संख्या में नवाचार हैं।
इस लेख में, मैं डेटाबेस डेवलपर के लिए कई नवाचारों की समीक्षा पर अधिक विस्तार से ध्यान देना चाहूंगा।
1. नई OFFSET और FETCH लौटी पंक्तियों की संख्या को सीमित करने के लिएअंत में, SQL सर्वर ने सामान्य पेजिंग की शुरुआत की।
अब सेट के दूसरे 10 रिकॉर्ड (2 पेज) पाने के लिए अनुरोध इस तरह दिखता है:
SELECT DepartmentID, Name, GroupName FROM HumanResources.Department ORDER BY DepartmentID OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
SQL 2005/2008 के संस्करणों में, हमें कुछ इस तरह लिखना था:
WITH CTE AS ( SELECT DepartmentID, Name, GroupName, ROW_NUMBER() OVER (ORDER BY DepartmentID) AS RowNum FROM HumanResources.Department ) SELECT DepartmentID, Name, GroupName FROM CTE WHERE RowNum BETWEEN 10 AND 19 ORDER BY RowNum
यहाँ अधिक विवरण:
msdn.microsoft.com/ru-ru/library/ms188385.aspx#Offset2. OVER ने विंडो फ़ंक्शंस के लिए समर्थन का विस्तार किया हैROWS या RANGE क्लॉस का उपयोग करके, आप प्रारंभ और अंत बिंदुओं को निर्दिष्ट करके अनुभागों के भीतर पंक्तियों को सीमित कर सकते हैं।
उदाहरण के लिए, एक रनिंग कुल प्रदर्शित करने के लिए एक क्वेरी:
SELECT DepartmentID, SaleDate, SUM(SalesYTD) OVER (PARTITION BY DepartmentID ORDER BY SaleDate ROWS UNBOUNDED PRECEDING) AS Total FROM dbo.Sales
अधिक जानकारी यहाँ:
msdn.microsoft.com/ru-ru/library/ms189461.aspx3. जोड़ा गया विश्लेषणात्मक कार्य- FIRST_VALUE
- LAST_VALUE
- CUME_DIST
- PERCENTILE_DISC
- PERCENT_RANK
- PERCENTILE_CONT
- लीड
- अंतराल
उदाहरण के लिए, एक परियोजना में मुझे एक मोमबत्ती (खुली, उच्च, निम्न, बंद) के लिए चार कीमतों की गणना करने की आवश्यकता है।
अब अनुरोध तुच्छ में बदल जाता है:
SELECT MIN(Ask) OVER (PARTITION BY Pair, Candle) AS Low, MAX(Ask) OVER (PARTITION BY Pair, Candle) AS High, FIRST_VALUE(Ask) OVER (PARTITION BY Pair, Candle) AS Open, LAST_VALUE(Ask) OVER (PARTITION BY Pair, Candle) AS Close FROM dbo.Quotes WHERE Pair='EURUSD' and Candle = 100
4. अनुक्रम दिखाई दिएएक और लंबे समय से प्रतीक्षित सुधार। वर्ष की शुरुआत से दस्तावेजों की संख्या को लागू करने के लिए क्या बैसाखी नहीं लगाई जानी थी।
उपयोग उदाहरण:
CREATE SEQUENCE Schema.SequenceName AS int START WITH 1 INCREMENT BY 1 ; DECLARE @NextID int ; SET @NextID = NEXT VALUE FOR Schema.SequenceName;
5. बदला हुआ RAISERROR निर्देश THROW THROW 51000, 'The record does not exist.', 1; BEGIN TRY SET @a = 10 / 0 END TRY BEGIN CATCH PRINT 'In catch block.'; THROW; END CATCH;
6. 14 नई सुविधाएँ हैंरूपांतरण कार्य:
- पार्स
- TRY_CONVERT
- TRY_PARSE
दिनांक और समय कार्य:
- DATEFROMPARTS
- DATETIME2FROMPARTS
- DATETIMEFROMPARTS
- DATETIMEOFFSETFROMPARTS
- EOMONTH
- SMALLDATETIMEFROMPARTS
- TIMEFROMPARTS
तार्किक कार्य:
स्ट्रिंग कार्य:
मैं इसे सौंदर्य सुधार के लिए जिम्मेदार ठहराऊंगा।
उदाहरण के लिए, पहले महीने का आखिरी दिन इस तरह से प्राप्त होता था:
SET @LastDayOfMonth = dateadd(month,1,dateadd(day,1-day(@d),@d))-1
SQL सर्वर 2012 में:
SET @LastDayOfMonth = EOMONTH (@d)
या, इसके बजाय:
CASE WHEN (@a > @b) THEN 'TRUE' ELSE 'FALSE' END
अब आप लिख सकते हैं:
IIF ( @a > @b, 'TRUE', 'FALSE' )
7. फ़ाइलटेबल टेबलअब SQL सर्वर विशेष तालिकाओं में फ़ाइलों और दस्तावेज़ों का भंडारण प्रदान करता है, जबकि उन तक पहुंच विंडोज अनुप्रयोगों से उसी तरह संभव है जैसे कि वे विंडोज़ सिस्टम में कोई परिवर्तन किए बिना, फ़ाइल सिस्टम में संग्रहीत किए गए थे।
अधिक जानकारी यहाँ:
msdn.microsoft.com/ru-ru/library/ff929144.aspx8. सांख्यिकीय अर्थ खोजFileTable फ़ंक्शन के साथ, सांख्यिकीय शब्दार्थ खोज असंरचित दस्तावेजों का गहन विश्लेषण प्रदान करता है।
शब्दार्थ खोज SQL सर्वर में मौजूदा पूर्ण-पाठ खोज घटक के आधार पर बनाई गई है और नए परिदृश्यों को लागू करती है, जो कीवर्ड द्वारा खोज नहीं, बल्कि दस्तावेज़ मूल्य प्रदान करती है।
उदाहरण के लिए, प्रमुख वाक्यांशों के सूचकांक के आधार पर, आप एक वर्गीकरण या तकनीकी दस्तावेज का एक सेट बना सकते हैं। या दस्तावेज़ समानता सूचकांक द्वारा, एक फिर से शुरू खोजें जो नौकरी विवरण के लिए सबसे उपयुक्त है।
अधिक जानकारी यहाँ:
msdn.microsoft.com/ru-ru/library/gg492075.aspx