2 Mayıs 2018 Çarşamba

SQL Server Tips 5-SQL Sequence ile Identity Column Arasındaki Farklar


Bugünkü yazımda  sizlere SEQUENCE ile IDENTITY COLUMN arasındaki farklılıkları anlatmak istiyorum. Bircoğumuz SSMS açınca içinde SEQUENCE objesinin farkında değilizdir. Oracle uzun zamandan buyana var olan bu obje SQL Server 2012 ile hayatımıza girmiştir.

 SEQUENCE tanımlanan değerler arasında numeric ve sıralı  artan veya azalan sayılar üretilir. Bir SEQUENCE birden fazla tablo için birbirini takip eden sayılar üretilebilir.

CREATE SEQUENCE MySEQUENCE
    START WITH 1
    INCREMENT BY 1 ;
GO

SEQUENCE Kullanımı
SELECT NEXT VALUE FOR MySequence

IDENTITY Sütunlar ise otomatik artan sütunlardır.  SQL Serverda bir alana IDENTITY olarak özellik tanımladığımızda, ilgili tabloya herhangi bir satır eklediğimizde bu IDENTITY özelliği tanımlanmış sütun değeri otomatik olarak artacaktır.  IDENTITY SEED başlangıç miktarı , IDENTITY INCREMENT ise artış miktarıdır.

CREATE TABLE MyIndentity
(

 NameID int IDENTITY(1,1),
 FirstName varchar (25),
 MiddleInt char(1),
 LastName varchar(40)
);

INSERT MyIndentity
(FirstName, MiddleInt, LastName)
VALUES
('Joe', 'K', 'Smith');

INSERT MyIndentity
(FirstName, MiddleInt, LastName)
VALUES
('Jane', 'L', 'Doe');

SELECT * FROM MyIdentity

Nitelik
Sequence
Identity
Object Seviyesi
Database
Table
Limit
Limit Belirlenebilir
INT ve BIG INT Data Tipinde Limitlidir
Values
Uygulamalar NEXT VALUE FOR ile çağrılabilir
Bir tabloya INSERT olduğunda oluşur.
Miktar
Kurulumda INCREMENT olarak beyan edildi ve herhangi bir şey olabilir. Artan sayıların yerine dizinin alçalmasına neden olacak negatif bir sayı olabilir.
Kurulumda INCREMENT olarak beyan edildi ve herhangi bir pozitif sayı olabilir, sayılar yükselir
Kapsam
BirTransaction kapsamı dışında oluşturuldu
Bir Transaction Oluşturuldu
Numara Atama
Sıralar önceden tahsis edilebilir (örnek bana 1-25 atar)
Önceden ayrılamaz.
Boşluklar
Boşluklar Verilebilir
Boşluklar Verilebilir
Benzersizlik
Numaralar Sıfırlanıp yeniden kullanılabilir
Benzersizdir. Primary Key olarak kullanılabilir.

Sql Server DateTime Veri Tipindeki Datayı Türkçe Formatında Göstermek

  SQL'de tarihleri farklı formatlarda göstermek için FORMAT fonksiyonunu kullanabilirsiniz. Türkçe kısa tarih formatı genellikle "...