2012-11-04 5 views
7

Ich habe SQL Server 2012 und ich möchte wissen, was die Verwendung der Sequenz ist. I Suchen Sie nach einem Beispiel, um die Verwendung der Sequenz zu erklären.Verwendung der Sequenz in SQL Server 2012

EDIT

Ich weiß, erstellen und Sequenz in der Datenbank verwenden. Ich möchte wissen, was praktisches Szenario für den Einsatz von Sequence ist.

+1

Ich bin mir nicht sicher, was Sie genau meinen, aber versuchen Sie diesen Link zu sehen. http://msdn.microsoft.com/en-us/library/ms189499.aspx Es zeigt Ihnen die Syntax für eine Select-Anweisung, um Daten aus der Datenbank – Koenyn

+0

Bitte sehen Sie meine Bearbeitung. –

Antwort

4
CREATE SEQUENCE dbo.OrderIDs 
    AS INT 
    MINVALUE 1 
    NO MAXVALUE 
    START WITH 1; 

SELECT NextOrderID = NEXT VALUE FOR dbo.OrderIDs 
UNION ALL  SELECT NEXT VALUE FOR dbo.OrderIDs 
UNION ALL  SELECT NEXT VALUE FOR dbo.OrderIDs; 

Ergebnisse:

NextOrderID 
----------- 
1 
2 
3 

Siehe here für Quelle und weitere Beispiele. Die Seite bezieht sich auf SQL Server Denali, die Beta von SQL 2012, aber die Syntax ist immer noch die gleiche.

2

Eine der Möglichkeiten, den SEQUENCE-Befehl zu nutzen, ist die Verwendung von Referenznummern auf einer ASP/C# -Detailansicht (als Beispiel). Ich verwende die Detailansicht, um Anfragen in eine Datenbank einzugeben, und der SEQUENCE-Befehl dient als Anfrage-/Ticketnummer für jede Anfrage. Ich setze den Initial Sequence-Befehl so, dass er mit einer bestimmten Nummer beginnt und für jede Anfrage um 1 erhöht wird.

Wenn ich diese Anfragen in einer Gridview präsentiere, lasse ich die SEQUENCE-Referenznummern erscheinen, mache sie aber nicht editierbar. Es ist großartig für eine Referenznummer, wenn Datensätze mit anderen Feldern in der Datenbank ähnlich sind. Es ist auch perfekt für Kunden, wenn sie Fragen zu einem bestimmten Eintrag in einer bestimmten Datenbank haben. Auf diese Weise habe ich eine eindeutige Nummer pro Eintrag, egal ob der Rest der Informationen identisch ist oder nicht.

Hier ist, wie ich in der Regel den SEQUENCE-Befehl nutzen:

CREATE SEQUENCE blah.deblah 
    START WITH 1 
    INCREMENT BY 1 
    NO CYCLE 
    NO CACHE 

Kurz gesagt, ich beginne meine Sequenz an # 1 (beliebig viele können wählen, mit dem Sie beginnen wollen) und zählt aufwärts in Schritten von 1 Ich fahre die Sequenznummern nicht zyklisch, wenn sie die maximale Systemnummer erreichen.