MS SQL’de Kolon İsmini Bütün Veritabanın da Aratmak için Yazılacak Sorgu

8. Temmuz 2015 15:02 by Admin in SQL Server  //  Tags:   //   Yorumlar (0)

Merhaba Arkadaşlar,

Örneğin; bir çok tablodan oluşan bir veritabanımız var ve biz bu veritabanı içinde bir kolon ismi arıyoruz. Bunun için bize gereken veri tabanın şemasını listelemek.

Aşağıdaki sorgu ile verdiğimiz kolon adını bütün tablolarda arayabilir ve hangi tablolarda var olduğunun çıktısını alabiliriz. Dikkat etmemiz gereken “kolon_adı” yazan yere bulmak istediğiniz kolon adını yazmak ve çalıştırmak. Buradaki like komutunu ve % işaretlerini silerek yerine = koyarsanız yazdığınız kolon adını içeren değil, sadece yazdığınız kolon adını size getirecektir.

SELECT COLUMN_NAME, TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE ‘%kolon_adı%’

SQL Sunucusunun Dili Nasıl Değiştirilir ?

SQL Sunucu kurulumu yapıldıktan sonra bazen tarih yapılarının veya parasal değerlerin uyumlu çalışması için SQL ile bağlantı yapan kullanıcıya istediğiniz Dili atayabilirsiniz.

 

Bazı web tabanlı uygulamalarda kolaylık olması için SQL Default Language değiştirilebilir.

 

SQL Dil Değiştirme;

 

EXECUTE sp_configure 'default language', 22

RECONFIGURE WITH override

ALTER LOGIN sa WITH DEFAULT_LANGUAGE = Turkish

GO

 

İşlemden sonra SQL Serivisini Restart Ediniz.

 

EXEC SP_HELPLANGUAGE ( Yukarıda belirtilen Dil değerlerini gösterir örneğin TR için 22 verilmiştir. )

 

SELECT @@LANGUAGE ( Bu komut ise SA kullanıcı için atanan default dili gösterir. Bu işlem sadece SA kullanıcı içindir.İstediğiniz kullanıcı için bu işlemi gerçekleştirebilirsiniz.)

DISTINCT Komutu

4. Ocak 2014 18:46 by Admin in SQL Server  //  Tags: ,   //   Yorumlar (0)

Sql'de bir tablodan veya ilişkili tablolardan Select komutu ile çektiğimiz veriler içinde birbirinin aynı veriler bulunabilir. Aynı verilerin birden fazla satırda tekrarladığı zamanlarda listeleme esnasında bir kez yazılması (tekrarsız sonuçlar) elde etmek için kullanılır.

 

Örneğin Nebim Winner veritabanında stok kartlarımızda tema kodu boş olan modelleri listelemek istediğimizde her bir modelin renklerinin bedenleri için içinde model kodu ve renk kodunu, bedenleri için tekrarlayacağını düşünürsek ve bedenleri çekmeden listemizi almaya kalkarsak bize birbini tekrarlayan çok fazla sayıda satır verecektir. Fakat distinct komutu ile bunun önüne geçe biliriz.

 

Örnek kod = [sourcecode language="sql"] SELECT DISTINCT tbStok.sModel, tbStok.sAciklama ,tbStok.sModel ,tbStok.sRenk,tbRenk.sRenkAdi,IsNuLL((tbModelRenkTema.sTemaKodu),'') as [Tema Kodu] ,IsNuLL((tbTema.sAciklama),'') as TemaAciklama

FROM tbAsorti, tbStok left outer join tbstokresim on tbstok.smodel=tbstokresim.smodel left outer join tbStokAciklama on tbStok.nStokID=tbStokAciklama.nStokID left outer join tbModelRenkTema on tbModelRenkTema.sModel = tbStok.sModel and tbModelRenkTema.sRenk = tbStok.sRenk left outer join tbTema on tbTema.sTemaKodu = tbModelRenkTema.sTemaKodu ,tbStokTipi,tbFiyatlandirma,tbRenk

WHERE tbStokTipi.nStokTipi=tbStok.nStokTipi and tbStok.sDefaultAsortiTipi = tbAsorti.sAsortiTipi and  tbStok.nFiyatlandirma=tbFiyatlandirma.nFiyatlandirma  and tbRenk.sRenk=tbStok.sRenk and (tbStok.nStokTipi=1 or tbStok.nStokTipi=2 or tbStok.nStokTipi=3) and  tbModelRenkTema.sTemaKodu IS null

ORDER BY tbStok.sModel ,tbStok.sRenk 

 

Şeklinde yazınca oluyor. Bu kod sonucu Model ait Renkleri tekil olduğu için tekrar eden verilerden kurtulmuş oluyoruz.