हाँ, SQL 11 में SEQUENCE ऑब्जेक्ट हैं, देखें SQL सर्वर v.Next (Denali):SEQUENCE का उपयोग करना ।
मैन्युअल अनुक्रम बनाना संभव है, लेकिन अनुशंसित नहीं है। अनुक्रम जनरेटर करने की चाल अनुक्रम तालिका पर आउटपुट के साथ अद्यतन का उपयोग करना है। यहाँ छद्म कोड है:
CREATE TABLE Sequences (
Name sysname not null primary key,
Sequence bigint not null default 0);
GO
CREATE PROCEDURE sp_getSequence
@name sysname,
@value bigint output
AS
UPDATE Sequences
SET Sequence = Sequence + 1
OUTPUT @value = INSERTED.Sequence
WHERE Name = @name;
GO
मैंने कुछ विवरण छोड़े हैं, लेकिन यह सामान्य विचार है। हालांकि, एक बड़ी समस्या है:अनुक्रम पर अगले मान का अनुरोध करने वाला कोई भी लेन-देन लॉक . होगा वह अनुक्रम जब तक यह प्रतिबद्ध नहीं होता, क्योंकि यह अनुक्रम मान पर एक अद्यतन लॉक रखेगा। इसका मतलब है कि सभी मूल्यों को सम्मिलित करते समय लेन-देन को एक-दूसरे के बाद क्रमबद्ध करना पड़ता है और वास्तविक उत्पादन परिनियोजन में परिणाम असहनीय होता है।
मैं आपको पहचान प्रकारों के साथ रहना पसंद करूंगा। पूर्ण नहीं होते हुए भी, वे उस से कहीं बेहतर हैं जो आप अपने दम पर हासिल कर सकते हैं।