Neler yeni

Tüm veri tabanında arama

Saints

Kullanıcı
Katılım
28 Kas 2022
Mesajlar
130
Puanları
36
Konum
Ankara
Kredi
18
merhaba arkadaşlar bütün tablolarda ve satırlarda arama yapan bir procedure yazdım ihtiyacımız olur diye siteye eklemek istedim
alltaki kodu yapıstırıp çalıştırın
kullanımı exec ara 'aranacak kelime'
eğer başka bir veri tabanında kullanmak isterseniz ikinci kodu kulanın

-----------------------------------------------------------------
[Gizli içerik]
----------------------------------------------------
/*kodu veri tabanı ve kelimeyi değiştirerek procedure süz kulanabilirsiniz gerekli yerleri değiştirip execute etmeniz yeterli */

[Gizli içerik]
Hemen Açıklamasını yapıyorum
 
2 Comments
Saints
Saints yorumladı
  1. ara adında bir stored procedure (saklı yordam) oluşturulur. Bu yordam, bir parametre alır: @kelime, bu parametrede arama yapılacak kelime veya ifadeyi belirtmek için kullanılır.
  2. Araştırmayı depolamak için @Results adında bir geçici tablo oluşturulur.
  3. INFORMATION_SCHEMA.TABLES kullanılarak veritabanındaki tüm tablolar dolaşılır.
  4. Her tablo için INFORMATION_SCHEMA.COLUMNS kullanılarak char, varchar, nchar ve nvarchar türündeki kolonlar dolaşılır.
  5. Her kolon için belirtilen kelimenin veya ifadenin olup olmadığı kontrol edilir. Eğer belirtilen kelime veya ifade bu kolonda bulunursa, bu kolonun adı ve değeri @Results tablosuna eklenir.
  6. En sonunda, @Results tablosundaki sonuçlar döndürülür. Bu sonuçlar, kelimenin veya ifadenin hangi tablo ve kolonlarda bulunduğunu gösterir.
Bu saklı yordamı kullanarak, büyük bir veritabanında belirli bir kelime veya ifadenin nerede bulunduğunu kolayca tespit edebilirsiniz. Ancak bu tür sorguların performansı büyük veritabanlarında düşebilir, bu nedenle dikkatli kullanılması önerilir.
 
Saints
Saints yorumladı
1. Query kod ile 2. Kod arasında ki temel farklar şunlardır:
  1. Bu kod, bir stored procedure (saklı yordam) olarak tanımlanmamıştır. Yani bu kodu çalıştırmak için direkt olarak SQL Server Management Studio gibi bir araçta çalıştırmanız gerekmektedir.
  2. USE DatabaseAdi komutu ile belirli bir veritabanı seçilmekte ve bu veritabanı üzerinde arama yapılmaktadır. Burada DatabaseAdi kelimesini kendi veritabanı adınızla değiştirmeniz gerekmektedir.
  3. @SearchStr değişkenine 'Aranacak kelime' değeri atanmıştır. Bu, aramak istediğiniz kelimeyi veya ifadeyi belirtmek için kullanılır. İhtiyaca göre bu ifadeyi değiştirmeniz gerekmektedir.
  4. /* Kardiyan Bir Teşekkür Yeter*/ satırı bir yorum satırıdır ve kodun işleyişine herhangi bir etkisi yoktur. Muhtemelen kodu yazan kişinin bir notu veya teşekkür mesajıdır.
Özetle, bu kod belirtilen veritabanında (DatabaseAdi) belirtilen kelime veya ifadeyi (Aranacak kelime) arar ve bu kelimenin veya ifadenin hangi tablo ve kolonlarda bulunduğunu döndürür.
 

Üst