Traženje teksta u funkcijama i uskladištenim procedurama na SQL serveru

Bila mi je potrebna jedna takva opcija – da mogu da nađem tekst u funkcijama, trigerima i uskladištenim procedurama na MSSQL serveru.

CREATE FUNCTION [dbo].[Find_Text_In_SP]
(
  @String1ToSearch nvarchar(100)
)
returns table 

AS
   
  RETURN
  (
     SELECT Distinct SO.Name, so.type
     FROM sysobjects SO (NOLOCK)
      INNER JOIN syscomments SC (NOLOCK) on SO.Id = SC.ID
      AND NOT(SO.Name LIKE N'MSmerge%')
      AND NOT(SO.name LIKE N'dt_%') 
      AND (not (SO.name in (N'GrantExectoAllProcedures_sp')))
      AND (left(SO.name, 6) <> N'sp_cft')
      AND (left(SO.name, 4) <> N'sel_')
      AND (left(SO.name, 6) <> N'sp_sel')
      AND (left(SO.name, 6) <> N'sp_upd')
      AND (left(SO.name, 6) <> N'sp_ins')
      AND SO.Type IN (N'P',N'FN',N'IF',N'TF',N'TR',N'D')
    WHERE (SC.Text LIKE N'%' + @String1ToSearch+ N'%')
      and NOT(SC.Text LIKE N'%' + @String1ToSearch+ N'-done!%')
  )  

Ova funkcija, Find_Text_In_SP, omogućava pretragu teksta unutar funkcija, trigera i uskladištenih procedura na MSSQL serveru. Korisna je za administratore baza podataka i programere koji žele brzo da pronađu specifične stringove u svojim SQL objektima. Funkcija pretražuje kroz razne tipove objekata kao što su procedure, funkcije i trigere, filtrirajući rezultate da bi izbegla sistemske objekte i one koji počinju sa određenim prefiksima.

Funkcija koristi ključnu reč NOLOCK u upitima kako bi se izbegla blokiranja i omogućila brza pretraga. Takođe, koriste se razne filtracije kako bi se osiguralo da se pretraga ne izvršava na neželjenim objektima, čime se dodatno ubrzava proces.

Jednostavan način korišćenja ove funkcije je da se unese string koji se traži kao parametar. Na primer, možete uneti deo koda ili naziv promenljive, i funkcija će vratiti sve objekte koji sadrže taj string. Ovo je posebno korisno kada se rade refaktorisanja koda ili kada se traže specifične implementacije unutar velikih baza podataka.

Ova funkcija može značajno uštedeti vreme i trud, omogućavajući brzu identifikaciju i analizu SQL objekata. Posebno je korisna u okruženjima gde se često radi sa velikim brojem procedura i funkcija, jer omogućava brzo pronalaženje relevantnih objekata i njihove izmene.

Ako tražite usluge razvoja softvera najvišeg ranga, ne tražite dalje!

Šta nudim:

  • Razvoj veb stranica: Pretvorite vašu ideju u potpuno funkcionalnu veb stranicu.
  • Kreacija mobilnih aplikacija: Dostignite vašu publiku na svakom uređaju.
  • Prilagođena softverska rešenja: Softver prilagođen vašim poslovnim potrebama.
  • Upravljanje bazom podataka: Osigurajte da su vaši podaci strukturirani, sigurni i dostupni.
  • Konsultacije: Niste sigurni gde da počnete? Razgovarajmo o najboljim tehnološkim rešenjima za vaše ciljeve.

Sa godinama iskustva u tehničkoj industriji, usavršio sam svoje veštine kako bih pružio samo najbolje svojim klijentima. Pretvorimo vašu viziju u stvarnost. Kontaktirajte me danas da započnemo vaš sledeći digitalni projekat!