Partager via


Options (page Exécution de la requête/SQL Server/ANSI)

Ensemble, ces options SET ANSI (ISO) définissent l'environnement de traitement des requêtes pour la durée de la requête de l'utilisateur, de l'exécution d'un déclencheur ou d'une procédure stockée. Toutefois, ces options SET ne contiennent pas toutes les options requises pour assurer la conformité à la norme ISO. Utilisez cette page pour spécifier si MicrosoftSQL Server exécute les requêtes avec l'ensemble ou une partie des paramètres spécifiés dans la norme ISO. Les modifications apportées à ces options sont appliquées uniquement aux nouvelles requêtes SQL Server. Pour modifier les options des requêtes actuelles, cliquez sur Options de requête dans le menu Requête ou cliquez avec le bouton droit dans la fenêtre Requête SQL Server et sélectionnez Options de requête. Dans la boîte de dialogue Options de requête, sous Exécution, cliquez sur ANSI.

  • SET ANSI_DEFAULTS
    Activez cette case à cocher pour sélectionner tous les paramètres ISO par défaut. Les options ISO ne sont pas toutes sélectionnées par défaut.

  • SET QUOTED_IDENTIFIER
    Lorsque cette case à cocher est activée, SQL Server suit les règles ISO relatives aux guillemets délimitant les identificateurs et les chaînes littérales. Les identificateurs entre guillemets peuvent être des mots clés Transact-SQL réservés ou contenir des caractères qui ne sont généralement pas autorisés dans les règles syntaxiques Transact-SQL se rapportant aux identificateurs. Cette case à cocher est activée par défaut.

  • SET ANSI_NULL_DFLT_ON
    Lorsque cette option est activée, tous les types de données définis par l'utilisateur ou les colonnes qui ne sont pas définies explicitement comme NOT NULL dans une instruction CREATE TABLE ou ALTER TABLE autorisent, par défaut, les valeurs NULL. Cette case à cocher est activée par défaut.

  • SET IMPLICIT_TRANSACTIONS
    Lorsque cette case à cocher est activée, SET IMPLICIT_TRANSACTIONS met la connexion en mode de transaction implicite. Lorsque la case à cocher est désactivée, la connexion revient en mode de validation automatique. Pour passer en revue les instructions qui démarrent une transaction implicite lorsqu'elles sont sélectionnées, reportez-vous à SET IMPLICIT_TRANSACTIONS (Transact-SQL). Cette case à cocher est désactivée par défaut.

  • SET CURSOR_CLOSE_ON_COMMIT
    Lorsque cette case à cocher est activée, tous les curseurs ouverts sont fermés automatiquement (conformément à ISO) lors de la validation d'une transaction. Lorsque cette option est désactivée, les curseurs restent ouverts d'une transaction à l'autre, ne se fermant que lors de la fermeture de la connexion ou sur demande explicite. Cette case à cocher est désactivée par défaut.

  • SET ANSI_PADDING
    Contrôle la façon dont la colonne stocke les noms de valeurs dont la longueur est inférieure à la taille définie pour la colonne et les valeurs contenant des espaces de fin pour les données de type char, varchar, binary et varbinary. Ce paramètre affecte uniquement la définition des nouvelles colonnes. Une fois que la colonne est créée, SQL Server stocke les valeurs en fonction du paramètre défini lors de la création de la colonne. Les colonnes existantes ne sont pas affectées par les modifications apportées ultérieurement à ce paramètre. Cette case à cocher est activée par défaut.

  • SET ANSI_WARNINGS
    Spécifie le comportement conforme à la norme ISO pour plusieurs conditions d'erreur :

    • Lorsque cette case à cocher est activée, si des valeurs NULL apparaissent dans des fonctions d'agrégation (par exemple, SUM, AVG, MAX, MIN, STDEV, STDEVP, VAR, VARP ou COUNT), un message d'avertissement est généré. Lorsque cette case à cocher est désactivée, aucun avertissement n'est émis.

    • Lorsque cette case à cocher est activée, les erreurs de division par zéro et de dépassement arithmétique provoquent l'annulation de l'instruction et l'émission d'un message d'erreur. Lorsque cette case à cocher est désactivée, les erreurs de division par zéro et de dépassement arithmétique entraînent le renvoi de valeurs NULL. Une erreur de division par zéro ou de dépassement arithmétique provoque le renvoi de valeurs NULL si une opération INSERT ou UPDATE est tentée sur une colonne de type character, Unicode ou binary contenant une nouvelle valeur dont la longueur est supérieure à la taille maximale de la colonne. Conformément à la norme ISO, si l'option SET ANSI_WARNINGS est activée, l'opération INSERT ou UPDATE est annulée. Les espaces de fin sont ignorés dans les colonnes de type character et les zéros de fin sont ignorés dans les colonnes de type binary. Lorsque cette option est désactivée, les données sont tronquées de façon à correspondre à la taille de la colonne et l'instruction s'exécute correctement.

    Cette case à cocher est activée par défaut.

  • SET ANSI_NULLS

    • Spécifie le comportement conforme à la norme ISO pour les opérateurs de comparaison égal à (=) et différent de (<>), lorsqu'ils sont utilisés avec des valeurs Null. Conformément à la norme ISO, lorsque l'option SET ANSI_NULLS est activée, toutes les comparaisons effectuées par rapport à une valeur NULL renvoient la valeur UNKNOWN (inconnu). Lorsque l'option SET ANSI_NULLS n'est pas activée, toutes les comparaisons effectuées par rapport à une valeur NULL renvoient la valeur TRUE. Cette case à cocher est activée par défaut.
  • Rétablir les valeurs par défaut
    Réinitialise toutes les valeurs de cette page en utilisant leurs valeurs par défaut d'origine.