analiz et, tasarla, hayata geçir



T-SQL Arama Sorguları

SQL veritabanı içerisinde, nesnelerde arama yapabilmemiz için aşağıdaki sorguları hazırladım. Umarım faydalı olurlar.

select object_name(sysobjects.id) AS ObjectName,
syscolumns.name AS ColumnName,
systypes.name AS TypeName from syscolumns
INNER JOIN sysobjects ON sysobjects.id = syscolumns.id
INNER JOIN systypes ON systypes.xtype = syscolumns.xtype
where sysobjects.xtype = 'U' AND systypes.name <> 'sysname' AND
syscolumns.name LIKE '%Kolon Adı%'

Yukarıdaki sorguda ‘Kolon Adı’nı değiştirerek bir kolonun hangi tablolarda bulunduğunu görebilirsiniz. Ayrıca xtype filtresini değiştirerek diğer nesneler içerisinde de arama yapabilirsiniz;

C = CHECK constraint
D = Default or DEFAULT constraint
F = FOREIGN KEY constraint
L = Log
FN = Scalar function
IF = In-lined table-function
P = Stored procedure
PK = PRIMARY KEY constraint (type is K)
RF = Replication filter stored procedure
S = System table
TF = Table function
TR = Trigger
U = User table
UQ = UNIQUE constraint (type is K)
V = View
X = Extended stored procedure

Bir tablonun kolon isimlerini öğrenmek için ise aşağıdaki sorguyu kullanabilirsiniz;

SELECT DISTINCT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns
WHERE TABLE_NAME Like '%Tablo Adı%' ORDER BY COLUMN_NAME

Son olarakta view, rule, default, trigger, CHECK constraint, DEFAULT constraint ve stored procedure içerisinde kelime bazlı arama yapmak için ise aşağıdaki sorgu kullanılabilir;

select DISTINCT object_name(id) from syscomments
where text like '%text%'


2 Yorum


  1. ahmet tetik

    Arkadaşım çok teşşekür ederim.
    yazdığın script çok işimeyaradı
    ellerine sağlık..

    Tem 23, 2009 @ 18:57


  2. ooz

    Ping:

    Query Editor içerisinde tabloyu seçip alt+f1 kullandığında tablo kolon isimlerine daha rahat ulaşabilirsin.

    ;)

    Kas 30, 2009 @ 11:06

Yanıtla



SON YAZILARIM

c#
‘Configuration system failed to initialize’ Hatası

Bugün karşılaştığım 'Configuration system failed to initialize' hatası basit ama bir o kadar da rahatsız...

asp.net
ASP.NET Timeout Süreleri

Web uygulamalarında bazı durumlarda sunucuya yapılan request süreleri çok fazla olabilir veya kullanıcıların...

ajax
UserControl, UpdatePanel ve RegisterPostBack Sorunu

ASP.NET AJAX ile gelen sorunlardan biri de UpdatePanel içerisinde bazı durumlarda ajax postback yerine full...