Options SET
Dans le tableau suivant, les options SET sont répertoriées par ordre alphabétique, accompagnées des options de base de données et de serveur prises en charge par MicrosoftSQL Server.
Option SET |
Option de base de données |
Option de serveur |
Paramètre par défaut |
---|---|---|---|
Aucun |
Aucune |
Non applicable |
|
ANSI_NULL_DEFAULT |
user options affecte une valeur par défaut |
OFF |
|
ANSI_NULLS |
user options affecte une valeur par défaut |
OFF |
|
ANSI_PADDING |
user options affecte une valeur par défaut |
ON |
|
ANSI_WARNINGS |
user options affecte une valeur par défaut |
OFF |
|
ARITHABORT |
user options affecte une valeur par défaut |
OFF |
|
Aucune |
user options affecte une valeur par défaut |
OFF |
|
CONCAT_NULL_YIELDS_NULL |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
CURSOR_CLOSE ON_COMMIT |
user options affecte une valeur par défaut |
OFF |
|
Aucune |
Aucune |
7 |
|
Aucune |
Aucune |
mdy |
|
Aucune |
Aucune |
NORMAL |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
|
OFF |
|
Aucune |
user options affecte une valeur par défaut |
OFF |
|
Aucune |
Aucune |
us_english |
|
Aucune |
Aucune |
Illimité |
|
Aucune |
user options affecte une valeur par défaut |
OFF |
|
Aucune |
Aucune |
OFF |
|
NUMERIC_ROUNDABORT |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
query governor cost limit |
OFF |
|
identicateur entre guillemets |
user options affecte une valeur par défaut |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
OFF |
|
Aucune |
Aucune |
N/A |
|
Aucune |
Aucune |
OFF |
Options SET au moment de l'analyse et de l'exécution
Selon qu'il s'agira d'une option d'analyse ou d'exécution, une option SET ne prendra pas effet au même moment. Les options d'analyse prennent effet durant l'analyse, à mesure que les options sont rencontrées dans le texte, sans qu'il soit tenu compte des instructions de flux. Les options d'exécution prennent effet durant l'exécution du code dans lequel elles sont spécifiées. Si l'exécution échoue avant que l'instruction SET ait été traitée, l'option n'est pas définie. Si elle échoue après, l'option est définie.
Les options QUOTED_IDENTIFIER, PARSEONLY, OFFSETS et FIPS_FLAGGER sont des options d'analyse. Toutes les autres instructions SET sont des options d'exécution.
Les instructions SET QUOTED_IDENTIFIER et SET ANSI_NULLS qui sont exécutées dans un traitement ou dans une procédure stockée n'affectent pas ce traitement ou cette procédure stockée. Au lieu de cela, les paramètres utilisés pour les instructions du traitement ou de la procédure stockée sont ceux qui étaient en vigueur lors de la création de ce traitement ou de cette procédure stockée.
Durée des options SET
Cette section décrit la durée des options SET.
Les options SET définies par un utilisateur dans un script s'appliquent jusqu'à ce qu'une réinitialisation se produise ou jusqu'à ce que l'utilisateur mette fin à sa session sur le serveur.
Les options SET définies dans une procédure stockée ou dans un déclencheur s'appliquent jusqu'à ce que se produise une réinitialisation de cette procédure stockée ou ce déclencheur, ou jusqu'à ce que le contrôle soit rendu au code qui a appelé cette procédure stockée ou ce déclencheur.
Une connexion MARS conserve une liste des valeurs par défaut des options SET. Lorsqu'un traitement est exécuté sur cette connexion, les valeurs par défaut des options SET sont copiées dans l'environnement de la demande. Une fois le traitement terminé, l'environnement est recopié dans les valeurs par défaut de la session. De cette manière, plusieurs traitements exécutés en même temps sur la même connexion restent dans un environnement isolé d'options SET.
[!REMARQUE]
Sur les connexions MARS, si plusieurs traitements sont exécutés en même temps et modifient l'environnement d'exécution de traitement, l'environnement par défaut résultant pour la connexion dépend du dernier traitement exécuté.
Sauf si elles sont réinitialisées explicitement, les valeurs des options SET d'un code de niveau supérieur s'appliquent dans une procédure stockée ou dans un déclencheur.
Les options SET définies par un utilisateur dans un traitement SQL dynamique s'appliquent uniquement pour la durée de ce traitement.
Sauf si elles sont réinitialisées explicitement ou implicitement, les options SET définies pour une connexion s'appliquent après connexion à une autre base de données.
[!REMARQUE]
En outre, lorsqu'un utilisateur se connecte à une base de données, certaines options peuvent prendre automatiquement la valeur ON, en fonction des valeurs spécifiées lors de la précédente utilisation de l'option de serveur user options ou de celles qui sont appliquées à toutes les connexions ODBC et OLE DB.
Raccourci pour les options SET
Transact-SQL propose l'instruction SET ANSI_DEFAULTS comme raccourci pour la définition des options de la norme ISO suivantes :
SET ANSI_NULLS
SET CURSOR_CLOSE_ON_COMMIT
SET ANSI_NULL_DFLT_ON
SET IMPLICIT_TRANSACTIONS
SET ANSI_PADDING
SET QUOTED_IDENTIFIER
SET ANSI_WARNINGS
Le raccourci réinitialise les valeurs de ces options. Toute option définie après l'utilisation du raccourci prévaut sur la valeur correspondante définie par le raccourci.
[!REMARQUE]
SET ANSI_DEFAULTS ne définit pas toutes les options requises pour la conformité avec la norme ISO.