2012-11-04 19 views
7

Ho SQL Server 2012 e voglio sapere qual è l'utilizzo della sequenza. Cerco un campione per spiegare l'uso della sequenza.Utilizzo della sequenza in SQL Server 2012

EDIT

So creare e utilizzare sequenza nel database. Voglio sapere qual è lo scenario pratico per l'uso di Sequence.

+1

Non sono sicuro di cosa intendi esattamente, ma prova a guardare questo link. http://msdn.microsoft.com/en-us/library/ms189499.aspx Mostrerà la sintassi per un'istruzione select per estrarre i dati dal database – Koenyn

+0

Vedere la mia modifica. –

risposta

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; 

Risultati:

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

Vedi here per la fonte originale e altri esempi. La pagina si riferisce a SQL Server Denali che è la beta di SQL 2012 ma la sintassi è ancora la stessa.

2

Uno dei modi in cui utilizzo il comando SEQUENCE è per i numeri di riferimento in una pagina di visualizzazione dettagli ASP/C# (ad esempio). Uso la vista dettagli per inserire le richieste in un database e il comando SEQUENCE serve come numero di richiesta/ticket per ogni richiesta. Ho impostato il comando sequenza iniziale per iniziare con un numero specifico e aumentare di 1 per ogni richiesta.

Se si presentano queste richieste in una vista a griglia, faccio apparire i numeri di riferimento SEQUENCE ma non li rendono modificabili. È ottimo per un numero di riferimento quando i record sono simili con altri campi nel database. È anche perfetto per i clienti quando hanno domande su una voce specifica in un determinato database. In questo modo ho un numero univoco per voce, indipendentemente dal fatto che il resto delle informazioni sia identico o meno.

Ecco come io in genere di leva del comando SEQUENZA:

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

Insomma, comincio la mia sequenza al # 1 (si può scegliere qualsiasi numero che si desidera per cominciare) e conta verso l'alto con incrementi di 1 Non faccio scorrere i numeri di sequenza quando raggiungono il numero massimo del sistema.

Problemi correlati