16 Ocak 2016 Cumartesi

Sql Server Database Column Search

Merhaba, bu yazımda benim de büyük projelerde sıkca kullandığım bir Sql Server fonksiyonunu paylaşayım istedim.

Projenizde 100 küsür tablonuz var ve her zamanki gibi zamanınız önemli. Bir kolonun hangi tabloda olduğunu tespit etmeye çalışıyorsunuz. Kolonun tam ismini de bilmiyorsunuz ama bir hece aklınızda.

Aşağıdaki fonksiyonu bur tür senaryolar için kullanabilirsiniz. İyi çalışmalar.

CREATE FUNCTION FIND_COL ( @PRM NVARCHAR(50) )
RETURNS @TBL TABLE (TABLE_NAME NVARCHAR(50),SCHEMA_NAME NVARCHAR(50),COLUMN_NAME NVARCHAR(50))
AS
BEGIN
      INSERT @TBL
      SELECT T.NAME AS TABLE_NAME,
             SCHEMA_NAME(schema_id) AS SCHEMA_NAME,
             C.NAME AS COLUMN_NAME
             FROM sys.tables AS T
             INNER JOIN sys.columns C ON T.OBJECT_ID = C.OBJECT_ID
             WHERE C.NAME LIKE '%'+@PRM+'%'
             ORDER BY SCHEMA_NAME, TABLE_NAME;
   RETURN
   RETURN

END


--Call--

SELECT * FROM FIND_COL('PASS')

--Output--