OguzhanUyanik Mareşal
Mesaj Sayısı : 472 Kayıt tarihi : 31/08/09 Yaş : 31 Nerden : Konya İş/Hobiler : Bilgisyar-Yazılım Lakap : Nediz
| Konu: Sql Server da Procedure, Function, Trigger ve View içinde nasıl arama yapılır? Salı Eyl. 08, 2009 2:29 pm | |
| Bir alan adı var nerelerde geçtiğini öğrenmek istiyorsunuz. Peki bunu nasıl yapacaksınız?
Aşağıdaki prosedürü arama yapmak istediğiniz veri tabanında oluşturun ve parametreleriyle yollayarak hangi alanın nerde geçtiğini öğrenin.
CREATE PROCEDURE P_FIND_TEXT_IN_OBJECTS /* ! Çağrıldığı veri tabanı içindeki objelerde parametre olarak verilen text'i arar arama büyük/küçük harfe duyarsızdır @lik*/ @FindText VARCHAR(50), @ObjectType VARCHAR(2) = " AS
/* - ObjectTypes - C = Constraints D = Defaults FN = Functions P = Procedures S = System Objects TR = Triggers V = Views Eğer tüm objelerde arama yapılacaksa Type yollamayınız @lik 08/05/2003 */
SELECT OBJECT_NAME(c.id) ObjectName, (CASE o.type WHEN 'C' THEN 'Constraint' WHEN 'D' THEN 'Default' WHEN 'FN' THEN 'Function' WHEN 'P' THEN 'Procedure' WHEN 'S' THEN 'System Object' WHEN 'TR' THEN 'Trigger' WHEN 'V' THEN 'View' END) ObjectType FROM syscomments c,sysobjects o WHERE c.id = o.id AND (UPPER(c.text) Like UPPER('%' + @FindText + '%') OR LOWER(c.text) Like LOWER('%' + @FindText + '%')) AND o.type = CASE WHEN @ObjectType = " THEN o.type ELSE @ObjectType END ORDER BY 2,1
GO
Görüldüğü üzere sadece aranacak kelime parametre olarak verilebilir, obje türünü de verebilirsiniz.
Örnekler Tüm objelerde aramak için:
EXECUTE P_FIND_TEXT_IN_OBJECTS 'BUNU_BUL'
Sadece prosedürler içinde:
EXECUTE P_FIND_TEXT_IN_OBJECTS 'BUNU_BUL','P' | |
|