Sequence / otomatik artan değer oluştur
Oracle
-- Sequence
CREATE SEQUENCE musteri_seq START WITH 1 INCREMENT BY 1 NOCACHE;
SELECT musteri_seq.NEXTVAL FROM dual;
-- veya identity kolon (12c+)
CREATE TABLE musteri (id NUMBER GENERATED ALWAYS AS IDENTITY, ad VARCHAR2(100));Klasik yöntem CREATE SEQUENCE + NEXTVAL/CURRVAL. 12c'den itibaren GENERATED AS IDENTITY kolonlar da desteklenir. CACHE değeri performansı artırır ama boşluk (gap) oluşabilir.
PostgreSQL
-- Sequence
CREATE SEQUENCE musteri_seq START 1 INCREMENT 1;
SELECT nextval('musteri_seq');
-- Modern yöntem: identity kolon
CREATE TABLE musteri (id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY, ad text);
-- Klasik: serial (arka planda sequence kurar)
CREATE TABLE loglar (id serial PRIMARY KEY, mesaj text);GENERATED ... AS IDENTITY SQL standardıdır ve önerilir; serial eski kısayoldur. nextval/currval ile manuel erişilir. setval ile değer sıfırlanabilir.
MySQL
-- AUTO_INCREMENT kolon
CREATE TABLE musteri (id BIGINT AUTO_INCREMENT PRIMARY KEY, ad VARCHAR(100));
-- Başlangıç değerini ayarla
ALTER TABLE musteri AUTO_INCREMENT = 1000;
-- Son eklenen değeri al
SELECT LAST_INSERT_ID();MySQL/MariaDB'de bağımsız sequence nesnesi (standart) yoktur; AUTO_INCREMENT kolon kullanılır (tablo başına bir tane, index'li olmalı). MariaDB 10.3+ CREATE SEQUENCE'i destekler.
SQL Server
-- IDENTITY kolon
CREATE TABLE musteri (id INT IDENTITY(1,1) PRIMARY KEY, ad NVARCHAR(100));
-- Bağımsız sequence nesnesi
CREATE SEQUENCE musteri_seq AS INT START WITH 1 INCREMENT BY 1;
SELECT NEXT VALUE FOR musteri_seq;IDENTITY(seed,increment) tablo kolonuna bağlıdır. CREATE SEQUENCE (2012+) tablodan bağımsız, tablolar arası paylaşılabilir sayaç sağlar; NEXT VALUE FOR ile alınır.
MongoDB
// MongoDB'de otomatik sayaç yoktur; findOneAndUpdate ile counter deseni
db.sayaclar.findOneAndUpdate(
{ _id: "musteri" },
{ $inc: { seq: 1 } },
{ upsert: true, returnDocument: "after" }
);Varsayılan _id ObjectId'dir (zaten benzersiz, kabaca artan). Sıralı tam sayı gerekiyorsa ayrı bir sayaç koleksiyonunda $inc ile atomik olarak üretilir.
Redis
# Atomik sayaç
INCR musteri:id
# veya belirli adımla
INCRBY musteri:id 10INCR/INCRBY atomiktir ve dağıtık ortamda benzersiz artan ID üretmek için idealdir. Anahtar yoksa 0'dan başlar.
Elasticsearch
# Uygulanamaz: Elasticsearch sequence nesnesi sunmaz. Doküman ID otomatik atanır;
# eşzamanlılık kontrolü için dahili _seq_no ve _primary_term alanları kullanılır.
POST loglar/_doc
{ "mesaj": "ornek" }ID vermeden POST edilirse ES rastgele benzersiz _id atar (artan değil). _seq_no her yazımda artan dahili bir sıra numarasıdır ama optimistic concurrency içindir, uygulama sayacı değildir.