EN
ArgeLab.net
 SQL
Sql Server, Oracle, Sybase ve MySQL ipuçları

Son güncelleme 2 Eylül 2007 Pazar

Yeni bir uygulama için birden fazla veritabanı destekli kod geliştirmek ORM araçları ve Enterprise Library gibi kütüphaneler sayesinde çok kolay bir hale gelmiş olsa da, yenisini yazma imkanı olmayan eski uygulamaların desteğini sürdürmek de sürekli karşımıza çıkan bir problemdir.

Benzer işlerle uğraşan arkadaşlara faydası olabilecek birkaç ipucu:

Doğal (native) veri erişim kütüphaneleri:

Sql Server SqlClient : .net framework ile geliyor
Oracle OracleClient : Microsoft'un kütüphanesidir, .net framework ile geliyor
ODP.Net : Oracle'ın kütüphanesidir (ücretsiz), OracleClient'dan daha hızlı ve daha çok özelliğe sahip.
Sybase ASE AseClient : Sybase'in kütüphanesidir (ücretsiz).
DataDirect Connect : ücretli
MySql MySQL Connector/Net : MySQL AB'nin kütüphanesidir (ücretsiz)
MyDirect .NET : ücretli, performansı yüzünden düşünülebilir

Bazı SQL farklılıkları;
 

String birleştirme işlemi:
 
Sql Server s1 + s2
Oracle s1 || s2
Sybase ASE s1 + s2 ve s1 || s2
MySql concat(s1, s2)

Integer to string çevrimi:

Sql Server str(n)
Oracle to_char(n)
Sybase ASE str(n) 
MySql concat(n)

Null ise n yapmak:

Sql Server isnull(n, v)
Oracle nvl(n, v)
Sybase ASE isnull(n, v)
MySql ifnull(n, v)

Insert'den sonra insert edilen sequence'i elde etmek:

Sql Server SELECT SCOPE_IDENTITY()  
Oracle SELECT SEQUENCE_ADI.CURRVAL FROM DUAL
Sybase ASE SELECT @@IDENTITY
MySql SELECT @@identity FROM TABLO
    Trim işlemi:
 
Sql Server ltrim(rtrim(s))
Oracle trim(s)
Sybase ASE ltrim(rtrim(s))
MySql trim(s)

Tablodaki bir kolonu silmek :

Sql Server ALTER TABLE T DROP COLUMN C
Oracle ALTER TABLE T DROP COLUMN C
Sybase ASE ALTER TABLE T DELETE C
MySql ALTER TABLE T DROP COLUMN C

Tablodaki bir kolonu değiştirmek:

Sql Server ALTER TABLE T ALTER COLUMN C TANIM 
Oracle ALTER TABLE T MODIFY C TANIM
Sybase ASE ALTER TABLE T MODIFY C TANIM
MySql ALTER TABLE T MODIFY C TANIM

ArgeLab.net, bu sitenin eksiksiz ve hatasız olduğu
konusunda bir garanti veremez. Bu sitede yer alan bilgilerin ve
programların kullanımı sonucu oluşabilecek zararlardan
sorumlu tutulamaz.


   © Copyright 2006-2008 Serdar Irmak