30 Eylül 2011 Cuma

Sql IDENTITY_INSERT Kullanımı


Sql de bazen veri taşıma veya benzeri bir durumda aktarmak istediğimiz tablo kayıtlarını identity field olan ID leri ile aktarmak isteriz.Fakat sql server buna izin vermez.Bu Identity alana insert işlemi için aşşağıdaki gibi bir işlem uygulayabiliriz.


Örnek Olarak aşşağıdaki sorguda eski tablomuza yeni başka bir tablo kayıtlarını aynen aktarıyoruz.

SET IDENTITY_INSERT tabloadı ON -- identity insert yapılabilir konuma geliyor

INSERT INTO eskiTablo SELECT * FROM yeniTablo

SET IDENTITY_INSERT tabloadı OFF -- identity insert yapılamaz konumuna geliyor
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

18 Eylül 2011 Pazar

SQL DATEADD() Fonksiyonu(Sql de tarihe ay,gün,yıl ekleme)


Kullanım Kalıbı : DATEADD (datepart , number , date )
. datepart ksımına month,year,day vs artırmak istediğimiz tarih birimini yazıyoruz.
. number ksımına arttırmak istediğimiz miktarı yazıyoruz.
. date kısmına da hangi tarih e ekleneceğini belirtiyoruz.
Örnek olarak şu an ki tarihten 1 ay sonrasını görmek için :

Şu anki tarih '10-1-2011' olsun(gün,ay,yıl)

Sorgu :
SELECT DATEADD(MONTH,+1,GETDATE())

Çıktı alacağımız tarih : '10-2-2011' şekinde olacaktır.
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

5 Eylül 2011 Pazartesi

Cannot resolve the collation conflict between "Turkish_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.


iki ayrı veri tabanı içindeki tablolar ile işlem yapılmak istendiğinde eğer dil sorunu çıkıyor ise sorgumuzun sonuna 'COLLATE TURKISH_CI_AS' sözcüğünü ekleyerek sorunu çözebiliriz.Örnek :


SELECT * FROM veritabani1.dbo.URUN u1
INNER JOIN veritabani2.dbo.URUNLER u2 ON u1.kod = u2.kod COLLATE TURKISH_CI_AS

umarım faydalı olmuştur.
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.