Otomatik numara Sequence nedir

Sequence  (Otomatik Numara)

Sözdizimi ve örneklerle SQL Server'da (Transact-SQL) Sequencelerin nasıl olşutuulcağını öğrenelim
SQL Server'da, Sequenceleri  kullanarak bir otomatik numara alanı oluşturabilirsiniz. Sequence , SQL Server'da (Transact-SQL) bir sayı dizisi oluşturmak için kullanılan bir nesnedir. Birincil anahtar olarak çalışmak için benzersiz bir numara oluşturmanız gerektiğinde bu yararlı olacaktır.
Sequence Oluşturmak
Bir otomatik numara alanını işlemek için SQL Server'da bir dizi oluşturmak isteyebiliriz. ve bunun için sequenceleri kullanırız.

Sözdizimi

SQL Server'da (Transact-SQL) bir dizi oluşturmak için kullanılan sözdizimi şöyledir:


CREATE SEQUENCE [schema.]sequence_name
  [ AS datatype ]
  [ START WITH value ]
  [ INCREMENT BY value ]
  [ MINVALUE value | NO MINVALUE ]
  [ MAXVALUE value | NO MAXVALUE ]
  [ CYCLE | NO CYCLE ]
  [ CACHE value | NO CACHE ]; 

AS datatype
BIGINT, INT, TINYINT, SMALLINT, DECIMAL veya NUMERIC olabilir. Veri türü belirtilmezse, sıralama varsayılan olarak bir BIGINT veri türüne göre olacaktır.
START WITH
Dizinin esas olarak döndürdüğü başlangıç ​​değeri.
INCREMENT BY value
Olumlu ya da olumsuz bir değer olabilir. Pozitif bir değer belirtilirse, dizi artan bir değer dizisi olacaktır. Negatif bir değer belirtilirse, dizi azalan bir değer dizisi olacaktır.
MINVALUE
Dizi için izin verilen minimum değer.
NO MINVALUE
Bu, dizi için belirtilen minimum değer olmadığı anlamına gelir.
MAXVALUE
Dizi için izin verilen maksimum değer.
NO MAXVALUE
Bu, sekans için belirtilen maksimum değer olmadığı anlamına gelir.
CYCLE
Bu, diziyi tamamladıktan sonra dizinin başlayacağı anlamına gelir.
NO CYCLE
Bu, diziyi tamamladığında dizinin bir hataya neden olacağı anlamına gelir. Diziyi tekrar başlatmaz.
CACHE
Disk IO'sunu en aza indirmek için sıra numaralarını önbelleğe alır.
NO CACHE
Sıra numaralarını önbelleğe almaz.


Örnek
SQL Server'da (Transact-SQL) bir dizinin nasıl oluşturulacağına bir örnek verelim.

Örneğin:

 
CREATE SEQUENCE contacts_seq
  AS BIGINT
  START WITH 1
  INCREMENT BY 1
  MINVALUE 1
  MAXVALUE 99999
  NO CYCLE
  CACHE 10;
  
Bu, contact_seq adlı bir dizi nesnesi oluşturacaktır. Kullanacağı ilk dizi numarası 1'dir ve sonraki her sayı 1 kadar artar (yani: 2,3,4, ...}. Performans için 10 değere kadar önbelleklenir. Sıra numarasının yapabildiği maksimum değer. be 99999 ve sıra maksimuma ulaşıldığında bir kez dönmeyecek.
Böylece, CREATE SEQUENCE ifadenizi aşağıdaki şekilde basitleştirebilirsiniz:

CREATE SEQUENCE contacts_seq
  START WITH 1
  INCREMENT BY 1;
  


NEXT VALUE FOR

Artık bir otomatik numara alanını simüle etmek için bir dizi nesnesi oluşturduğunuza göre, bu dizi nesnesinden nasıl değer alacağımızı ele alacağız. Sıradaki değeri sıra sırasına göre almak için NEXT VALUE FOR komutunu kullanmanız gerekir. Örneğin: 

SELECT NEXT VALUE FOR contacts_seq;

  

Bu bir sonraki değeri contact_seq'den alacaktır. Bir sonraki ifadenin bir SQL ifadesinde kullanılması gerekir. Örneğin: 

INSERT INTO contacts
(contact_id, last_name)
VALUES
(NEXT VALUE FOR contacts_seq, 'Smith');

  

Bu INSERT ifadesi, rehber tablosuna yeni bir kayıt ekler. Contact_id alanına contact_seq dizisinden sonraki numara atanır. Son_adı alanı 'Smith' olarak ayarlandı.

İlginizi Çekebilir

  • DDL, DML, TCL ve DCL nedir Bu yazıda, Veri Tanımlama Dili, Veri Manipülasyon Dili, İşlem Kontrol Dili ve Veri Kontrol Dili hakkında konuşuyor ola ...
  • Tüm etkin olmayan oturumları kapatmak Bir veritabanınız var ve yazılımcılar devamlı bağlantı açıyorlar ve kapatmıyorlar. Bunları tek tek kapatmakla uğraşıy ...
  • Sql server anahtar kelimeler (reserved keywords) Microsoft SQL Server, veritabanlarını tanımlamak, değiştirmek ve erişmek için ayrılmış anahtar kelimeler kullanır. Ay ...
  • Sql string fonksiyonlar   T-sql string fonksiyonlar Merhabalar bu makalemizde sıkca kullandığımız Ms Sql string ifadeleri bir araya top ...
  • Sql Tarih işlemleri Sql'de kullanabileceğiniz çeşitli tarih saat işlemlerini aşağıda bulabilirsiniz. Raporlama işlemlerinde kullanışlı olu ...
Previous Article
Power Bi nedir
Yorumlar
Yorumlar