Forum
Merhaba arkadaşlar;
Database üzerinde bir metnin hangi tabloda olduğunu bulabilme şansımız nedir ? Mesela bir isim hangi tabloda kayıtlı diye bulma şansımız var mı?
Merhaba tablo isimlerini girerek bir sorgu ile aynı anda birden fazla tablo üzerinde işlem yapacak sorgu yazabilirsiniz.
SELECT * FROM tablo1,tablo2 WHERE ad = 'aranan isim'
1984 doğumluyum. 4 yaşından bu yana İstanbul’da yaşıyorum. Sırası ile aşağıdaki okullarda eğitim gördüm. Paşaköy ilkokulu (1990-1995) Kartal Zekeriyya Güçer İlköğretim Okulu(1995-1998) Ümraniye Teknik ve Endüstri Meslek Lisesi Bilgisayar Bölümü(1998-2001) Kocaeli Üniversitesi Bilgisayar Programcılığı(2002-2004) Anadolu Ünv. İşletme Fakültesi(2006-2009) Lise yıllarından sonra bir bilgisayar firmasının teknik servisinde mesleğe merhaba dedim. Outsource olarak Citibank ytl ve bina taşınma projesinde yer alarak 8 ay görev yaptım. Bu görevden sonra şu an çalışmakta olduğum yerde bilgi işlem sorumlusu olarak göreve başladım ve 18 yıldır görevimin başındayım.
Rıza Bey;
Tablo sayısı fazla ve hangi sütunda olduğunu bilmiyorum.Database baz alınarak arama yapılmaz mı ?
Ya da;
SELECT * FROM * WHERE * = 'aranan isim'
buna benzer bir sorgu yapılabilirmi ?
Merhaba,
Eğer aradığınız veriyi SQL Cümlesi değilde , bir form - arayüz ile çekebiliyorsanız SQL Server Profiler size yardımcı olacaktır.
http://www.cozumpark.com/blogs/sql/archive/2008/05/11/sql-server-2005-profiler.aspx
Umarım işinize yarar.
Saygılarımla.
merhabalar,
Sql server da bulunan MsForeachtable adlı prucedure sanırım işinizi gorecektir.Yalnız burada dikkat etmeniz gereken nokta arama yapacagınız kolonun tum tablolarda olması gerektiğidir. Ornek olarak:
EXEC
sp_MSForEachTable 'Select * from ? where ID=1'boylece veritabanındaki tum tablolarda yukarıdaki sorguyu caliştirir.
Kolay gelsin
Systemchi;
EXEC sp_MSForEachTable 'Select * from ? where ID=120.01.001'
olarak denedim.Hata verdi.
Tahsin Bey;
Cevabınızı araştırıyorum.
Merhaba sanırım aldıgınız hata şu sekilde: Invalid column name 'ID'. management stdio eger bir hata varsa onu ilk olara size gosteriri result setin oldugu kısımda aslında sonucu gorebilirsiniz bu hatanın sebebi bazı tablolarınızda ıd kolonun olmamasıdır.
Sorguya ID kolonuna sahip tabloları join şeklinde eklerseniz hem istediğiniz olur hem de ID alanı olmayan tablolardan dolayı hata almazsınız.
Tablolar sys.tables ta column lar ise sys.columns ta. Bu 2 table objectid den relation lı.
sys.tables ı fetch yada ms_foreachtable ile dönüp sys.columns tan döndüğün tabloya denk gelen kolonları bulup select i çekebilirsin.
Ardığın ifade string yada integer ise sys.columns tan ilgili kolonları alırken bu data type ı kriter olarak verirsen daha az kolon alırsın.