DB2 - Diziler

Bu bölüm size sekans kavramı, sekans yaratma, sekansı görüntüleme ve bırakma kavramlarını tanıtır.

Giriş

Bir dizi, belirli bir aralık içinde artan veya azalan sırada tam sayı sayıları üreten bir yazılım işlevidir ve tablo arasında birincil anahtar oluşturmak ve diğer anahtarları koordine etmek için kullanılır. Çalışan_kimliği veya işlem_kimliği için tamsayı sayıları elde etmek için sıra kullanırsınız. Bir dizi SMALLINT, BIGINT, INTEGER ve DECIMAL veri türlerini destekleyebilir. Bir dizi birden fazla uygulama arasında paylaşılabilir. Bir sıra, işlemlere bakılmaksızın artırılır veya azaltılır.

CREATE SEQUENCE deyimi ile bir dizi oluşturulur.

Dizi Türleri

Mevcut iki tür sekans vardır:

  • NEXTVAL: Bir sıra numarası için artırılmış bir değer döndürür.

  • PREVIOUS VALUE: En son oluşturulan değeri döndürür.

Dizilerin parametreleri

Sıralar için aşağıdaki parametreler kullanılır:

Data type: Bu, döndürülen artmış değerin veri türüdür. (SMALLINT, BIGINT, INTEGER, NUMBER, DOUBLE)

START WITH: Sıranın başladığı referans değer.

MINVALUE: Başlamak için bir dizi için minimum değer.

MAXVALUE: Bir dizi için maksimum değer.

INCREMENT BY: bir dizinin artırıldığı adım değeri.

Sequence cycling: CYCLE yan tümcesi, dizinin tekrar tekrar üretilmesine neden olur. Dizi üretimi, önceki dizi üretimi tarafından veri tabanında saklanan döndürülen değere atıfta bulunarak gerçekleştirilir.

Bir sekans oluşturma

Aşağıdaki sözdizimini kullanarak sıralama oluşturabilirsiniz:

Syntax:

db2 create sequence <seq_name>

Example: ['Sales1_seq' adıyla ve 1'den artan değerleri ile yeni bir sıra oluşturmak için]

db2 create sequence sales1_seq as int start 
with 1 increment by 1

Dizileri görüntüleme

Aşağıda verilen sözdizimini kullanarak bir diziyi görüntüleyebilirsiniz:

Syntax:

db2 value <previous/next> value for <seq_name>

Example: ['Sales1_seq' sırasındaki önceki güncellenmiş değerin listesini görmek için]

db2 values previous value for sales1_seq

Output:

1 
----------- 
  4 
  1 record(s) selected.

Sırayı düşürmek

Sırayı kaldırmak için, "DROP SEQUENCE ”Komutu. İşte bunu nasıl yapıyorsun:

Syntax:

db2 drop sequence <seq_name>>

Example: [Veritabanından 'sales1_seq' dizisini bırakmak için]

db2 drop sequence sales1_seq

Output:

DB20000I The SQL command completed successfully.