CREATE SEQUENCE (Transact-SQL)CREATE SEQUENCE (Transact-SQL)

Si applica a:Applies to: sìSQL ServerSQL Server (tutte le versioni supportate) yesSQL ServerSQL Server (all supported versions) Sìdatabase SQL di AzureAzure SQL DatabaseYesdatabase SQL di AzureAzure SQL DatabaseSi applica a:Applies to: sìSQL ServerSQL Server (tutte le versioni supportate) yesSQL ServerSQL Server (all supported versions) Sìdatabase SQL di AzureAzure SQL DatabaseYesdatabase SQL di AzureAzure SQL Database

Crea un oggetto sequenza e ne specifica le proprietà.Creates a sequence object and specifies its properties. Una sequenza è un oggetto associato a schema definito dall'utente che genera una sequenza di valori numerici in base alla specifica con la quale è stata creata la sequenza.A sequence is a user-defined schema bound object that generates a sequence of numeric values according to the specification with which the sequence was created. La sequenza di valori numerici viene generata in ordine crescente o decrescente a un intervallo definito e può essere configurata per riprendere dall'inizio (ciclo) quando è esaurita.The sequence of numeric values is generated in an ascending or descending order at a defined interval and can be configured to restart (cycle) when exhausted. Le sequenze, a differenza delle colonne Identity, non sono associate a tabelle specifiche.Sequences, unlike identity columns, are not associated with specific tables. Le applicazioni fanno riferimento a un oggetto sequenza per recuperare il relativo valore successivo.Applications refer to a sequence object to retrieve its next value. La relazione tra sequenze e tabelle è controllata dall'applicazione.The relationship between sequences and tables is controlled by the application. Le applicazioni utente possono fare riferimento a un oggetto sequenza e coordinare i valori di più righe e tabelle.User applications can reference a sequence object and coordinate the values across multiple rows and tables.

A differenza dei valori delle colonne Identity che vengono generati quando vengono inserite le righe, un'applicazione può ottenere il numero di sequenza successivo senza inserire la riga chiamando la funzione NEXT VALUE FOR.Unlike identity columns values that are generated when rows are inserted, an application can obtain the next sequence number without inserting the row by calling the NEXT VALUE FOR function. Usare sp_sequence_get_range per ottenere immediatamente più numeri di sequenza.Use sp_sequence_get_range to get multiple sequence numbers at once.

Per informazioni e scenari in cui vengono usate entrambe le funzioni CREATE SEQUENCE e NEXT VALUE FOR , vedere Numeri di sequenza.For information and scenarios that use both CREATE SEQUENCE and the NEXT VALUE FOR function, see Sequence Numbers.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

CREATE SEQUENCE [schema_name . ] sequence_name  
    [ AS [ built_in_integer_type | user-defined_integer_type ] ]  
    [ START WITH <constant> ]  
    [ INCREMENT BY <constant> ]  
    [ { MINVALUE [ <constant> ] } | { NO MINVALUE } ]  
    [ { MAXVALUE [ <constant> ] } | { NO MAXVALUE } ]  
    [ CYCLE | { NO CYCLE } ]  
    [ { CACHE [ <constant> ] } | { NO CACHE } ]  
    [ ; ]  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgomentiArguments

sequence_namesequence_name
Specifica il nome univoco con il quale è nota la sequenza nel database.Specifies the unique name by which the sequence is known in the database. Il tipo è sysname.Type is sysname.

[ built_in_integer_type | user-defined_integer_type[ built_in_integer_type | user-defined_integer_type
Una sequenza può essere definita come qualsiasi tipo Integer.A sequence can be defined as any integer type. I tipi seguenti sono consentiti.The following types are allowed.

  • tinyint -intervallo da 0 a 255tinyint - Range 0 to 255
  • smallint -intervallo tra -32.768 e 32.767smallint - Range -32,768 to 32,767
  • int - intervallo tra -2,147,483,648 e 2,147,483,647int - Range -2,147,483,648 to 2,147,483,647
  • bigint -intervallo tra -9.223.372.036.854.775.808 e 9.223.372.036.854.775.807bigint - Range -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
  • decimal e numeric con scala 0.decimal and numeric with a scale of 0.
  • Qualsiasi tipo di dati definito dall'utente (tipo di alias) basato su uno dei tipi consentiti.Any user-defined data type (alias type) that is based on one of the allowed types.

Se non viene specificato un tipo di dati, per impostazione predefinita viene utilizzato il tipo di dati bigint.If no data type is provided, the bigint data type is used as the default.

START WITH <constant>START WITH <constant>
Primo valore restituito dall'oggetto sequenza.The first value returned by the sequence object. Il valore START deve essere minore o uguale al valore massimo e maggiore o uguale al valore minimo dell'oggetto sequenza.The START value must be a value less than or equal to the maximum and greater than or equal to the minimum value of the sequence object. Il valore iniziale predefinito per un nuovo oggetto sequenza è il valore minimo per un oggetto sequenza con ordine crescente e il valore massimo per un oggetto sequenza con ordine decrescente.The default start value for a new sequence object is the minimum value for an ascending sequence object and the maximum value for a descending sequence object.

INCREMENT BY <constant>INCREMENT BY <constant>
Valore utilizzato per incrementare (o diminuire se negativo) il valore dell'oggetto sequenza per ogni chiamata alla funzione NEXT VALUE FOR.Value used to increment (or decrement if negative) the value of the sequence object for each call to the NEXT VALUE FOR function. Se l'incremento è un valore negativo, l'oggetto sequenza presenta un ordine decrescente. In caso contrario, l'ordine sarà crescente.If the increment is a negative value, the sequence object is descending; otherwise, it is ascending. L'incremento non può essere 0.The increment cannot be 0. L'incremento predefinito per un nuovo oggetto sequenza è 1.The default increment for a new sequence object is 1.

[ MINVALUE <constant> | NO MINVALUE ][ MINVALUE <constant> | NO MINVALUE ]
Specifica i limiti per l'oggetto sequenza.Specifies the bounds for the sequence object. Il valore minimo predefinito per un nuovo oggetto sequenza è il valore minimo del tipo di dati dell'oggetto sequenza.The default minimum value for a new sequence object is the minimum value of the data type of the sequence object. Tale valore è zero per il tipo di dati tinyint e un numero negativo per tutti gli altri tipi di dati.This is zero for the tinyint data type and a negative number for all other data types.

[ MAXVALUE <constant> | NO MAXVALUE[ MAXVALUE <constant> | NO MAXVALUE
Specifica i limiti per l'oggetto sequenza.Specifies the bounds for the sequence object. Il valore massimo predefinito per un nuovo oggetto sequenza è il valore massimo del tipo di dati dell'oggetto sequenza.The default maximum value for a new sequence object is the maximum value of the data type of the sequence object.

[ CYCLE | NO CYCLE ][ CYCLE | NO CYCLE ]
Proprietà che specifica se l'oggetto sequenza deve riprendere dal valore minimo (o massimo per gli oggetti sequenza con ordine decrescente) o generare un'eccezione quando viene superato il relativo valore massimo o minimo.Property that specifies whether the sequence object should restart from the minimum value (or maximum for descending sequence objects) or throw an exception when its minimum or maximum value is exceeded. L'opzione predefinita che determina la ripresa dei nuovi oggetti sequenza è NO CYCLE.The default cycle option for new sequence objects is NO CYCLE.

Nota

Il ciclo di una SEQUENZA riprende dal valore minimo o massimo, non dal valore iniziale.Cycling a SEQUENCE restarts from the minimum or maximum value, not from the start value.

[ CACHE [<constant> ] | NO CACHE ][ CACHE [<constant> ] | NO CACHE ]
Migliora le prestazioni per le applicazioni che utilizzano oggetti sequenza riducendo il numero di I/O del disco necessari per generare numeri di sequenza.Increases performance for applications that use sequence objects by minimizing the number of disk IOs that are required to generate sequence numbers. Il valore predefinito è CACHE.Defaults to CACHE.

Se ad esempio la dimensione della cache viene impostata su 50, nella cache di SQL ServerSQL Server non vengono memorizzati 50 singoli valori,For example, if a cache size of 50 is chosen, SQL ServerSQL Server does not keep 50 individual values cached. ma solo il valore corrente e il numero di valori rimanenti nella cache.It only caches the current value and the number of values left in the cache. La quantità di memoria necessaria per l'archiviazione della cache è pertanto sempre corrispondente a due istanze del tipo di dati dell'oggetto sequenza.This means that the amount of memory required to store the cache is always two instances of the data type of the sequence object.

Nota

Se l'opzione cache viene abilitata senza specificare la dimensione, quest'ultima verrà selezionata dal Motore di database.If the cache option is enabled without specifying a cache size, the Database Engine will select a size. È tuttavia consigliabile non basarsi sul fatto che la selezione sia coerente.However, users should not rely upon the selection being consistent. MicrosoftMicrosoft potrebbe cambiare il metodo di calcolo della dimensione della cache senza preavviso.might change the method of calculating the cache size without notice.

Se per la creazione si utilizza l'opzione CACHE, un arresto imprevisto, ad esempio un'interruzione dell'alimentazione, potrebbe causare la perdita dei numeri di sequenza rimanenti nella cache.When created with the CACHE option, an unexpected shutdown (such as a power failure) may result in the loss of sequence numbers remaining in the cache.

Osservazioni generaliGeneral Remarks

I numeri di sequenza vengono generati esternamente all'ambito della transazione corrente.Sequence numbers are generated outside the scope of the current transaction. Vengono utilizzati sia in caso di commit che di rollback della transazione che utilizza il numero di sequenza.They are consumed whether the transaction using the sequence number is committed or rolled back. La convalida dei duplicati viene eseguita solo quando un record è completamente popolato.Duplicate validation only occurs once a record is fully populated. Ciò può provocare, in alcuni casi, l'assegnazione di uno stesso numero a più di un record durante la creazione, ma il numero viene comunque identificato come duplicato.This can result in some cases where the same number is used for more than one record during creation, but then gets identified as a duplicate. Se si verifica questo errore e ai record successivi sono stati applicati altri valori di numerazione automatica, può verificarsi uno scarto tra i valori di numerazione automatica e il comportamento previsto.If this occurs and other autonumber values have been applied to subsequent records, this can result in a gap between autonumber values and is expected behavior.

Gestione della cacheCache management

Per migliorare le prestazioni, in SQL ServerSQL Server il numero di numeri di sequenza specificati dall'argomento CACHE viene pre-allocato.To improve performance, SQL ServerSQL Server pre-allocates the number of sequence numbers specified by the CACHE argument.

Si supponga, ad esempio, che una nuova sequenza venga creata con un valore iniziale pari a 1 e una dimensione della cache pari a 15.For an example, a new sequence is created with a starting value of 1 and a cache size of 15. Quando viene richiesto il primo valore, i valori compresi tra 1 e 15 vengono resi disponibili dalla memoria.When the first value is needed, values 1 through 15 are made available from memory. L'ultimo valore memorizzato nella cache (15) viene scritto nelle tabelle di sistema sul disco.The last cached value (15) is written to the system tables on the disk. Dopo che tutti e 15 i numeri sono stati utilizzati, la richiesta successiva (del numero 16) comporterà la riallocazione della cache.When all 15 numbers are used, the next request (for number 16) will cause the cache to be allocated again. Il nuovo ultimo valore memorizzato nella cache (30) verrà scritto nelle tabelle di sistema.The new last cached value (30) will be written to the system tables.

Se il Motore di databaseDatabase Engine viene arrestato dopo che sono stati utilizzati 22 numeri, il numero di sequenza desiderato successivo in memoria (23) viene scritto nelle tabelle di sistema, andando a sostituire il numero archiviato in precedenza.If the Motore di databaseDatabase Engine is stopped after you use 22 numbers, the next intended sequence number in memory (23) is written to the system tables, replacing the previously stored number.

Quando SQL Server viene riavviato e viene richiesto un numero di sequenza, il numero iniziale viene letto dalle tabelle di sistema (23).After SQL Server restarts and a sequence number is needed, the starting number is read from the system tables (23). La quantità della cache di 15 numeri (23-38) viene allocata nella memoria e il numero non memorizzato nella cache successivo (39) viene scritto nelle tabelle di sistema.The cache amount of 15 numbers (23-38) is allocated to memory and the next non-cache number (39) is written to the system tables.

Se il Motore di databaseDatabase Engine viene arrestato in modo anomalo per un evento quale un'interruzione dell'alimentazione, la sequenza viene riavviata con il numero letto dalle tabelle di sistema (39).If the Motore di databaseDatabase Engine stops abnormally for an event such as a power failure, the sequence restarts with the number read from system tables (39). Qualsiasi numero di sequenza allocato nella memoria (ma mai richiesto da un utente o da un'applicazione) va perso.Any sequence numbers allocated to memory (but never requested by a user or application) are lost. Questa funzionalità potrebbe lasciare dei vuoti, ma garantisce che lo stesso valore non venga mai generato due volte per un singolo oggetto sequenza, a meno che non venga definito come CYCLE o venga riavviato manualmente.This functionality may leave gaps, but guarantees that the same value will never be issued two times for a single sequence object unless it is defined as CYCLE or is manually restarted.

La cache viene mantenuta nella memoria tenendo traccia del valore corrente (l'ultimo valore generato) e del numero di valori rimanenti nella cache.The cache is maintained in memory by tracking the current value (the last value issued) and the number of values left in the cache. Pertanto, la quantità di memoria utilizzata dalla cache è sempre corrispondente a due istanze del tipo di dati dell'oggetto sequenza.Therefore, the amount of memory used by the cache is always two instances of the data type of the sequence object.

L'impostazione dell'argomento della cache su NO CACHE comporta la scrittura del valore di sequenza corrente nelle tabelle di sistema ogni volta che viene utilizzata una sequenza.Setting the cache argument to NO CACHE writes the current sequence value to the system tables every time that a sequence is used. Le prestazioni potrebbero diminuire in seguito all'aumento dell'accesso al disco, tuttavia diminuiscono anche le probabilità di vuoti indesiderati.This might slow performance by increasing disk access, but reduces the chance of unintended gaps. I vuoti possono comunque verificarsi se i numeri vengono richiesti utilizzando la funzione NEXT VALUE FOR o sp_sequence_get_range, ma in questo caso i numeri non vengono utilizzati o vengono utilizzati nelle transazioni di cui non è stato eseguito il commit.Gaps can still occur if numbers are requested using the NEXT VALUE FOR or sp_sequence_get_range functions, but then the numbers are either not used or are used in uncommitted transactions.

Quando un oggetto sequenza utilizza l'opzione CACHE, se si riavvia l'oggetto sequenza o si modifica INCREMENT, CYCLE, MINVALUE, MAXVALUE o le proprietà della dimensione della cache, la cache viene scritta nelle tabelle di sistema prima che si verifichi la modifica.When a sequence object uses the CACHE option, if you restart the sequence object, or alter the INCREMENT, CYCLE, MINVALUE, MAXVALUE, or the cache size properties, it will cause the cache to be written to the system tables before the change occurs. La cache verrà quindi ricaricata a partire dal valore corrente (non viene ignorato alcun numero).Then the cache is reloaded starting with the current value (i.e. no numbers are skipped). La modifica della dimensione della cache diventa effettiva immediatamente.Changing the cache size takes effect immediately.

Opzione CACHE quando sono disponibili valori memorizzati nella cacheCACHE option when cached values are available

Il processo seguente si verifica ogni volta che viene richiesto un oggetto sequenza per generare il valore successivo per l'opzione CACHE se nella cache in memoria sono disponibili valori inutilizzati per l'oggetto sequenza.The following process occurs every time that a sequence object is requested to generate the next value for the CACHE option if there are unused values available in the in-memory cache for the sequence object.

  1. Viene calcolato il valore successivo per l'oggetto sequenza.The next value for the sequence object is calculated.

  2. Viene aggiornato in memoria il nuovo valore corrente per l'oggetto sequenza.The new current value for the sequence object is updated in memory.

  3. Il valore calcolato viene restituito all'istruzione di chiamata.The calculated value is returned to the calling statement.

Opzione CACHE quando la cache è esauritaCACHE option when the cache is exhausted

Il processo seguente si verifica ogni volta che viene richiesto un oggetto sequenza per generare il valore successivo per l'opzione CACHE se la cache è esaurita.The following process occurs every time a sequence object is requested to generate the next value for the CACHE option if the cache has been exhausted:

  1. Viene calcolato il valore successivo per l'oggetto sequenza.The next value for the sequence object is calculated.

  2. Viene calcolato l'ultimo valore per la nuova cache.The last value for the new cache is calculated.

  3. Viene bloccata la riga della tabella di sistema per l'oggetto sequenza e il valore calcolato nel passaggio 2 (l'ultimo valore) viene scritto nella tabella di sistema.The system table row for the sequence object is locked, and the value calculated in step 2 (the last value) is written to the system table. Viene generato un Xevent di cache esaurita per notificare all'utente il nuovo valore persistente.A cache-exhausted xevent is fired to notify the user of the new persisted value.

Opzione NO CACHENO CACHE option

Il processo seguente si verifica ogni volta che viene generato un oggetto sequenza per generare il valore successivo per l'opzione NO CACHE.The following process occurs every time that a sequence object is requested to generate the next value for the NO CACHE option:

  1. Viene calcolato il valore successivo per l'oggetto sequenza.The next value for the sequence object is calculated.

  2. Il nuovo valore corrente per l'oggetto sequenza viene scritto nella tabella di sistema.The new current value for the sequence object is written to the system table.

  3. Il valore calcolato viene restituito all'istruzione di chiamata.The calculated value is returned to the calling statement.

MetadatiMetadata

Per informazioni sulle sequenze, eseguire una query su sys.sequences.For information about sequences, query sys.sequences.

SicurezzaSecurity

AutorizzazioniPermissions

Richiede l'autorizzazione CREATE SEQUENCE, ALTER o CONTROL per l'oggetto SCHEMA.Requires CREATE SEQUENCE, ALTER, or CONTROL permission on the SCHEMA.

  • I membri dei ruoli predefiniti del database db_owner and db_ddladmin possono creare, alterare ed eliminare oggetti sequenza.Members of the db_owner and db_ddladmin fixed database roles can create, alter, and drop sequence objects.

  • I membri dei ruoli predefiniti del database db_owner e db_datawriter possono aggiornare gli oggetti sequenza comportando la generazione di numeri.Members of the db_owner and db_datawriter fixed database roles can update sequence objects by causing them to generate numbers.

Nell'esempio seguente viene concessa l'autorizzazione AdventureWorks\Larry per creare sequenze nello schema di test.The following example grants the user AdventureWorks\Larry permission to create sequences in the Test schema.

GRANT CREATE SEQUENCE ON SCHEMA::Test TO [AdventureWorks\Larry]  

È possibile trasferire la proprietà di un oggetto sequenza tramite l'istruzione ALTER AUTHORIZATION.Ownership of a sequence object can be transferred by using the ALTER AUTHORIZATION statement.

Se una sequenza utilizza un tipo di dati definito dall'utente, l'autore della sequenza deve disporre dell'autorizzazione REFERENCES per il tipo.If a sequence uses a user-defined data type, the creator of the sequence must have REFERENCES permission on the type.

AuditAudit

Per controllare CREATE SEQUENCE, monitorare SCHEMA_OBJECT_CHANGE_GROUP.To audit CREATE SEQUENCE, monitor the SCHEMA_OBJECT_CHANGE_GROUP.

EsempiExamples

Per esempi relativi alla creazione di sequenze e all'uso della funzione NEXT VALUE FOR per generare numeri di sequenza, vedere Numeri di sequenza.For examples of creating sequences and using the NEXT VALUE FOR function to generate sequence numbers, see Sequence Numbers.

La maggior parte degli esempi seguenti riguarda la creazione di oggetti sequenza in un schema denominato test.Most of the following examples create sequence objects in a schema named Test.

Per creare lo schema test, eseguire l'istruzione seguente.To create the Test schema, execute the following statement.

CREATE SCHEMA Test ;  
GO  

R.A. Creazione di una sequenza che aumenta di 1Creating a sequence that increases by 1

Nell'esempio seguente Thierry crea una sequenza denominata CountBy1 che aumenta di uno ogni volta che viene utilizzata.In the following example, Thierry creates a sequence named CountBy1 that increases by one every time that it is used.

CREATE SEQUENCE Test.CountBy1  
    START WITH 1  
    INCREMENT BY 1 ;  
GO  

B.B. Creazione di una sequenza che diminuisce di 1Creating a sequence that decreases by 1

Nell'esempio seguente la sequenza inizia da 0 e aumenta di un numero negativo ogni volta che viene utilizzata.The following example starts at 0 and counts into negative numbers by one every time it is used.

CREATE SEQUENCE Test.CountByNeg1  
    START WITH 0  
    INCREMENT BY -1 ;  
GO  

C.C. Creazione di una sequenza che aumenta di 5Creating a sequence that increases by 5

Nell'esempio seguente viene creata una sequenza che aumenta di 5 ogni volta che viene utilizzata.The following example creates a sequence that increases by 5 every time it is used.

CREATE SEQUENCE Test.CountBy1  
    START WITH 5  
    INCREMENT BY 5 ;  
GO  

D.D. Creazione di una sequenza che inizia con un numero definitoCreating a sequence that starts with a designated number

Dopo avere importato una tabella, Thierry nota che il numero ID più elevato utilizzato è 24.328.After importing a table, Thierry notices that the highest ID number used is 24,328. Thierry necessita di una sequenza che genererà numeri che iniziano da 24.329.Thierry needs a sequence that will generate numbers starting at 24,329. Nel codice seguente viene creata una sequenza che inizia da 24.329 e aumenta di 1.The following code creates a sequence that starts with 24,329 and increments by 1.

CREATE SEQUENCE Test.ID_Seq  
    START WITH 24329  
    INCREMENT BY 1 ;  
GO  

E.E. Creazione di una sequenza utilizzando valori predefinitiCreating a sequence using default values

Nell'esempio seguente viene creata una sequenza utilizzando i valori predefiniti.The following example creates a sequence using the default values.

CREATE SEQUENCE Test.TestSequence ;  

Eseguire l'istruzione seguente per visualizzare le proprietà della sequenza.Execute the following statement to view the properties of the sequence.

SELECT * FROM sys.sequences WHERE name = 'TestSequence' ;  

Un elenco parziale dell'output dimostra i valori predefiniti.A partial list of the output demonstrates the default values.

OutputOutput Valore predefinitoDefault value
start_value -9223372036854775808
increment 1
mimimum_value -9223372036854775808
maximum_value 9223372036854775807
is_cycling 0
is_cached 1
current_value -9223372036854775808

F.F. Creazione di una sequenza con un tipo di dati specificoCreating a sequence with a specific data type

Nell'esempio seguente viene creata una sequenza utilizzando il tipo di dati smallint, con un intervallo compreso tra -32.768 e 32.767.The following example creates a sequence using the smallint data type, with a range from -32,768 to 32,767.

CREATE SEQUENCE SmallSeq 
    AS smallint ;  

G.G. Creazione di una sequenza utilizzando tutti gli argomentiCreating a sequence using all arguments

Nell'esempio seguente viene creata una sequenza denominata DecSeq utilizzando il tipo di dati decimale, con un intervallo compreso tra 0 e 255.The following example creates a sequence named DecSeq using the decimal data type, having a range from 0 to 255. La sequenza inizia con 125 e aumenta di 25 ogni volta che viene generato un numero.The sequence starts with 125 and increments by 25 every time that a number is generated. Poiché la sequenza è configurata per riprendere quando il valore supera il valore massimo di 200, la sequenza riprende dal valore minimo di 100.Because the sequence is configured to cycle when the value exceeds the maximum value of 200, the sequence restarts at the minimum value of 100.

CREATE SEQUENCE Test.DecSeq  
    AS decimal(3,0)   
    START WITH 125  
    INCREMENT BY 25  
    MINVALUE 100  
    MAXVALUE 200  
    CYCLE  
    CACHE 3  
;  

Eseguire l'istruzione seguente per visualizzare il primo valore; l'opzione START WITH di 125.Execute the following statement to see the first value; the START WITH option of 125.

SELECT NEXT VALUE FOR Test.DecSeq;  

Eseguire l'istruzione altre tre volte affinché vengano restituiti i numeri 150, 175 e 200.Execute the statement three more times to return 150, 175, and 200.

Eseguire nuovamente l'istruzione per vedere come il valore iniziale torna nuovamente all'opzione MINVALUE con valore 100.Execute the statement again to see how the start value cycles back to the MINVALUE option of 100.

Eseguire il codice seguente per confermare la dimensione della cache e vedere il valore corrente.Execute the following code to confirm the cache size and see the current value.

SELECT cache_size, current_value   
FROM sys.sequences  
WHERE name = 'DecSeq' ;  

Vedere ancheSee Also

ALTER SEQUENCE (Transact-SQL) ALTER SEQUENCE (Transact-SQL)
DROP SEQUENCE (Transact-SQL) DROP SEQUENCE (Transact-SQL)
NEXT VALUE FOR (Transact-SQL) NEXT VALUE FOR (Transact-SQL)
Numeri di sequenzaSequence Numbers