Condividi tramite


@@OPTIONS (Transact-SQL)

Restituisce informazioni sulle opzioni SET correnti.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

@@OPTIONS

Tipi restituiti

integer

Osservazioni

Le opzioni possono provenire dall'uso del comando SET o dal valore di sp_configure user options. I valori di sessione configurati con il comando SET sostituiscono le opzioni di sp_configure. Molti strumenti, come ad esempio Management Studio, configurano automaticamente le opzioni impostate. A ogni utente è associata una funzione @@OPTIONS che rappresenta la configurazione.

Tramite l'istruzione SET è possibile modificare le opzioni di linguaggio e di esecuzione delle query per una sessione utente specifica. @@OPTIONS può solo rilevare le opzioni che sono impostate su ON o OFF.

La funzione @@OPTIONS restituisce una mappa di bit delle opzioni, convertita in un numero intero in base 10 (decimale). Le impostazioni di bit vengono archiviate nei percorsi descritti nell'argomento Configurare l'opzione di configurazione del server user options.

Per decodificare il valore di @@OPTIONS, convertire il numero intero restituito da @@OPTIONS in binario e quindi cercare i valori nella tabella sopra riportata. Se, ad esempio, SELECT @@OPTIONS; restituisce il valore 5496, usare la calcolatrice Windows (calc.exe) per convertire il valore decimale 5496 in binario. Il risultato è 1010101111000. I caratteri più a sinistra (binario 1, 2 e 4) sono 0, a indicare che IMPLICIT_TRANSACTIONS e CURSOR_CLOSE_ON_COMMIT sono impostati su OFF. L'elemento successivo (ANSI_WARNINGS nella posizione 1000) è impostato su ON. Continuare a lavorare direttamente nella mappa di bit e nell'elenco di opzioni. Quando le opzioni più a destra sono 0, vengono troncate dalla conversione dei tipi. La mappa di bit 1010101111000 è in realtà 001010101111000 per rappresentare tutte e 15 le opzioni.

Esempi

A.Dimostrazione di come le modifiche influiscono sul comportamento

L'esempio seguente dimostra la differenza nel comportamento di concatenazione con due diverse impostazioni dell'opzione CONCAT_NULL_YIELDS_NULL.

SELECT @@OPTIONS AS OriginalOptionsValue;
SET CONCAT_NULL_YIELDS_NULL OFF;
SELECT 'abc' + NULL AS ResultWhen_OFF, @@OPTIONS AS OptionsValueWhen_OFF;

SET CONCAT_NULL_YIELDS_NULL ON;
SELECT 'abc' + NULL AS ResultWhen_ON, @@OPTIONS AS OptionsValueWhen_ON;

B.Test di un'impostazione NOCOUNT del client

Nell'esempio seguente viene impostata l'opzione NOCOUNT ON e viene quindi testato il valore della funzione @@OPTIONS. L'opzione NOCOUNT ON impedisce che, per ogni istruzione di una sessione, il messaggio relativo al numero di righe interessate venga rinviato al client che esegue la richiesta. Il valore di @@OPTIONS viene impostato su 512 (0x0200), che rappresenta l'opzione NOCOUNT. In questo esempio viene verificato se l'opzione NOCOUNT è stata abilitata nel client. Ciò può risultare utile, ad esempio, per tenere traccia delle differenze di esecuzione in un client.

SET NOCOUNT ON
IF @@OPTIONS & 512 > 0 
RAISERROR ('Current user has SET NOCOUNT turned on.', 1, 1)

Vedere anche

Riferimento

Funzioni di configurazione (Transact-SQL)

sp_configure (Transact-SQL)

Concetti

Configurare l'opzione di configurazione del server user options