SQL सर्वर संग्रहीत कार्यविधियों और कार्यों में पाठ की खोज करता है
SQL सर्वर संग्रहीत प्रक्रियाओं और कार्यों में पाठ की खोज करता है और प्रत्येक पंक्ति की पंक्ति संख्या प्राप्त करता है
के बारे में
कोड का एक काफी सरल बिट, इसका उपयोग आपके डेटाबेस में संग्रहीत प्रक्रियाओं और कार्यों के भीतर कुछ महत्वपूर्ण शब्दों के लिए संदर्भ और लाइन नंबर लेने के लिए किया जा सकता है।
यह किसी अन्य लेख (नीचे लिंक) में बनाए गए फ़ंक्शन का उपयोग करता है, जो स्ट्रिंग्स को आपकी पसंद के इनपुट कैरेक्टर पर निर्भर तालिका में विभाजित करता है। जैसा कि हम फ़ंक्शन में रिटर्न कैरेक्टर में पास कर रहे हैं, इसका मतलब है कि हम तब नीचे ड्रिल कर सकते हैं कि संदर्भ किस लाइन में बनाया गया है।
SQL
DECLARE @SearchStr NVARCHAR(100)='Holidays'SELECT OBJECT_NAME(object_id) ObjectName,object_id ObjectID,WordInt as Line,REPLACE(REPLACE(REPLACE(REPLACE(WordStr,CHAR(13)+CHAR(10),''),CHAR(10),''),CHAR(13),''),CHAR(9),'') as LineTextFROM [utilities].sys.all_sql_modulesOUTER APPLY [utilities].dbo.TextToRows(CHAR(13),definition) ttrWHERE definition like '%'+@SearchStr+'%' ANDWordStr like '%'+@SearchStr+'%'
क्या ये सहायक था?
यह हमारे डेटाबेस से निम्नलिखित परिणाम वापस लाएगा। वे तीन कार्य हैं जो छुट्टियों को छोड़कर तिथियों के साथ विभिन्न गणना करते हैं और SQL फ़ंक्शन अनुभाग में पाए जा सकते हैं।
Results
ObjectName | ObjectID | Line | LineText |
CalcWorkDaysBetween | 1010102639 | 9 | IF (DATEPART(WEEKDAY,@Date)IN(1,7) OR (SELECT Count(*) FROM Holidays WHERE Date=@Date)=1) |
CalcWorkDaysMonth | 1026102696 | 9 | IF (DATEPART(WEEKDAY,@Date) IN(1,7)OR(SELECT Count(*) FROM Holidays WHERE Date=@Date)=1) |
CalcWorkDaysAddDays | 1042102753 | 10 | IF NOT (DATEPART(WEEKDAY,@Date) IN (1,7) OR EXISTS (SELECT * FROM Holidays WHERE Date=@Date)) |