SET ANSI_DEFAULTS (Transact-SQL)

Contrôle un groupe de paramètres SQL Server 2005 qui spécifie, de manière collective, certains comportements conformes à la norme SQL-92.

Icône Lien de rubriqueConventions de syntaxe de Transact-SQL

Syntaxe

SET ANSI_DEFAULTS { ON | OFF }

Notes

SET ANSI_DEFAULTS est un paramètre côté serveur que le client ne modifie pas. Le client gère ses propres paramètres. Par défaut, ces paramètres sont l'inverse du paramètre serveur. Les utilisateurs ne doivent pas modifier le paramètre serveur. Pour modifier le comportement du client, les utilisateurs doivent recourir à SQL_COPT_SS_PRESERVE_CURSORS. Pour plus d'informations, consultez SQLSetConnectAttr.

Lorsque cette option est activée (ON), elle active les paramètres SQL-92 suivants :

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

 

Ensemble, ces options SET SQL-92 définissent l'environnement de traitement des requêtes pour la durée de la session de travail 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 se conformer à la norme SQL-92.

Lorsque vous travaillez avec des index sur des colonnes calculées et des vues indexées, quatre options par défaut (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS et QUOTED_IDENTIFIER) doivent être activées (valeur ON). Ces options par défaut font partie des sept options SET qui doivent avoir les valeurs requises lors de la création et de la modification des index sur des colonnes calculées et vues indexées. Les autres options SET sont ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON) et NUMERIC_ROUNDABORT (OFF). Pour plus d'informations sur les valeurs requises des options SET dans des vues indexées et index de colonnes calculées, voir « Remarques sur l'utilisation de l'instruction SET » dans la rubrique SET (Transact-SQL).

Le pilote OCBC et le fournisseur OLE DB de SQL Native Client pour SQL Server activent automatiquement ANSI_DEFAULTS lors de la connexion. Le pilote et le fournisseur désactivent ensuite CURSOR_CLOSE_ON_COMMIT et IMPLICIT_TRANSACTIONS. La désactivation de SET CURSOR_CLOSE_ON_COMMIT et SET IMPLICIT_TRANSACTIONS peut être configurée dans des sources de données ou des attributs de connexion ODBC, ou encore dans les propriétés de connexion OLE DB définies dans l'application avant la connexion à SQL Server. Dans le cas d'applications DB-Library, SET ANSI_DEFAULTS prend par défaut la valeur OFF.

Lorsque l'instruction SET ANSI_DEFAULTS est émise, la valeur de SET QUOTED_IDENTIFIER est définie au moment de l'analyse, et les options suivantes sont définies lors de l'exécution :

SET ANSI_NULLS

SET ANSI_WARNINGS

SET ANSI_NULL_DFLT_ON

SET CURSOR_CLOSE_ON_COMMIT

SET ANSI_PADDING

SET IMPLICIT_TRANSACTIONS

Autorisations

Nécessite l'appartenance en tant que membre au rôle public.

Exemple

L'exemple suivant définit SET ANSI_DEFAULTS ON et utilise l'instruction DBCC USEROPTIONS pour afficher les paramètres affectés.

-- SET ANSI_DEFAULTS ON.
SET ANSI_DEFAULTS ON
GO
-- Display the current settings.
DBCC USEROPTIONS
GO
-- SET ANSI_DEFAULTS OFF.
SET ANSI_DEFAULTS OFF
GO

Voir aussi

Référence

DBCC USEROPTIONS (Transact-SQL)
SET (Transact-SQL)
SET ANSI_NULL_DFLT_ON (Transact-SQL)
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)
SET IMPLICIT_TRANSACTIONS (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005