SQL Server'da çalışırken bazı durumlarda sadece IDENTITY alanı olan bir tabloyu kullanmamız ve kayıt eklememiz gerekebilir.
Peki bu tabloda ki IDENTITY den yararlanarak nasıl kayıt ekleyeceksiniz ve ne işe yarar ?
İşte bu soruların cevaplarını aşağıda bulabilirsiniz :)
Önce tablomuzu oluşturalım;
SET ansi_nulls ON
go
SET quoted_identifier ON
go
CREATE TABLE [dbo].[IdentityTestTable]
(
[ID] [INT] IDENTITY(1, 1) NOT NULL,
CONSTRAINT [PK_IdentityTestTable] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (
pad_index = OFF, statistics_norecompute = OFF, ignore_dup_key = OFF,
allow_row_locks = on, allow_page_locks = on) ON [PRIMARY]
)
ON [PRIMARY]
go
go
SET quoted_identifier ON
go
CREATE TABLE [dbo].[IdentityTestTable]
(
[ID] [INT] IDENTITY(1, 1) NOT NULL,
CONSTRAINT [PK_IdentityTestTable] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (
pad_index = OFF, statistics_norecompute = OFF, ignore_dup_key = OFF,
allow_row_locks = on, allow_page_locks = on) ON [PRIMARY]
)
ON [PRIMARY]
go
Şimdide Insert Kodumuzu yazalım;
INSERT INTO IdentityTestTable
DEFAULT VALUES
SELECT Scope_identity() AS ID
DEFAULT VALUES
SELECT Scope_identity() AS ID
DEFAULT ile görmüş olduğunuz gibi Identity alana yeni kayıt eklemeyi yapıyoruz.
Select cümlesindeki Scope_Identity() ile yeni üretilen ID'yi görebiliyoruz.
Peki sadece ID alanı içeren bir tablo ne işinize yarar ?
Çoklu dil desteği olan bir proje geliştiriyorsanız eğer çok fazlasıyla işinize yarayacaktır.
Diyelim ki bütün dillerde aynı ID ile işlem yapmak istiyorsunuz. Bir ana / baz tablo ihtiyacınız olacaktır. Bu tablo'nun görevi sadece ID üretmek olacak. Diğer tablolar buradaki ID leri referans alacaklardır.
Umarım işinize yarar.
Sevgiler,
Cihan.