Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique décrit les instructions et les éléments de syntaxe Transact-SQL pris en charge par IntelliSense dans SQL Server 2014.
Déclarations prises en charge par IntelliSense
Dans SQL Server 2014, IntelliSense prend uniquement en charge les instructions Transact-SQL les plus couramment utilisées. Certaines conditions générales de l’Éditeur de requête du moteur de base de données peuvent empêcher IntelliSense de fonctionner. Pour plus d’informations, consultez résolution des problèmes d’IntelliSense (SQL Server Management Studio).
Remarque
IntelliSense n’est pas disponible pour les objets de base de données chiffrés, tels que les procédures stockées chiffrées ou les fonctions définies par l’utilisateur. L’aide des paramètres et les informations rapides ne sont pas disponibles pour les paramètres des procédures stockées étendues et des types clR Integration définis par l’utilisateur.
Instruction SELECT
L’Éditeur de requête du moteur de base de données prend en charge IntelliSense pour les éléments de syntaxe suivants dans l’instruction SELECT :
| Sélectionner | OÙ |
| DE | ORDONNER PAR |
| AYANT | UNION |
| POUR | REGROUPER PAR |
| Haut de la page | OPTION (indicateur) |
Déclarations Transact-SQL supplémentaires prises en charge
L’Éditeur de requête du moteur de base de données offre également un support IntelliSense pour les instructions Transact-SQL présentées dans le tableau suivant.
| Instruction Transact-SQL | Syntaxe prise en charge |
|---|---|
| INSÉRER | Toutes les syntaxes, à l’exception de la clause execute_statement. |
| MISE À JOUR | Toutes les règles de syntaxe. |
| SUPPRIMER | Toutes les règles de syntaxe. |
| DECLARE @local_variable | Toutes les règles de syntaxe. |
| SET @local_variable | Toutes les règles de syntaxe. |
| EXÉCUTER | Exécution de procédures stockées définies par l’utilisateur, de procédures stockées système, de fonctions définies par l’utilisateur et de fonctions système. |
| CRÉER TABLE | Toutes les règles de syntaxe. |
| CREATE VIEW | Toutes les règles de syntaxe. |
| CRÉER PROCÉDURE | Toutes les syntaxes, avec les exceptions suivantes : Il n’existe aucune prise en charge d’IntelliSense pour la clause EXTERNAL NAME. Dans la clause AS, IntelliSense prend uniquement en charge les instructions et la syntaxe répertoriées dans cette rubrique. |
| ALTER PROCEDURE | Toutes les syntaxes, avec les exceptions suivantes : Il n’existe aucune prise en charge d’IntelliSense pour la clause EXTERNAL NAME. Dans la clause AS, IntelliSense prend uniquement en charge les instructions et la syntaxe répertoriées dans cette rubrique. |
| UTILISER | Toutes les règles de syntaxe. |
IntelliSense dans les déclarations prises en charge
IntelliSense dans l’éditeur de requête du moteur de base de données prend en charge les éléments de syntaxe suivants lorsqu’ils sont utilisés dans l’une des instructions Transact-SQL prises en charge :
Tous les types de jointure, y compris l'APPLY
PIVOT et UNPIVOT
Références aux objets de base de données suivants :
Bases de données et schémas
Tables, vues, fonctions évaluées sur des tables et expressions de table
Colonnes
Procédures et paramètres de procédure
Fonctions scalaires et expressions scalaires
Variables locales
Expressions de table courantes (CTE)
Objets de base de données référencés uniquement dans les instructions CREATE ou ALTER dans le script ou le lot, mais qui n’existent pas dans la base de données, car le script ou le lot n’a pas encore été exécuté. Ces objets sont les suivants :
Tables et procédures spécifiées dans une instruction CREATE TABLE ou CREATE PROCEDURE dans le script ou le lot.
Modifications apportées aux tables et procédures spécifiées dans une instruction ALTER TABLE ou ALTER PROCEDURE dans le script ou le lot.
Remarque
IntelliSense n’est pas disponible pour les colonnes d’une instruction CREATE VIEW tant que l’instruction CREATE VIEW n’a pas été exécutée.
IntelliSense n’est pas fourni pour les éléments répertoriés précédemment lorsqu’ils sont utilisés dans d’autres instructions Transact-SQL. Par exemple, intelliSense prend en charge les noms de colonnes utilisés dans une instruction SELECT, mais pas pour les colonnes utilisées dans l’instruction CREATE FUNCTION.
Exemples
Dans un script ou lot Transact-SQL, IntelliSense dans l’éditeur de requête du moteur de base de données prend uniquement en charge les instructions et la syntaxe listées dans cette rubrique. Les exemples de code Transact-SQL suivants montrent les instructions et les éléments de syntaxe pris en charge par IntelliSense. Par exemple, dans le lot suivant, IntelliSense est disponible pour l’instruction SELECT lorsqu’elle est codée par elle-même, mais pas lorsque le SELECT est contenu dans une instruction CREATE FUNCTION.
USE AdventureWorks2012;
GO
SELECT Name
FROM Production.Product
WHERE Name LIKE N'Road-250%' and Color = N'Red';
GO
CREATE FUNCTION Production.ufn_Red250 ()
RETURNS TABLE
AS
RETURN
(
SELECT Name
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE N'Road-250%'
AND Color = N'Red'
);GO
Cette fonctionnalité s’applique également aux ensembles d’instructions Transact-SQL dans la clause AS d’une instruction CREATE PROCEDURE ou ALTER PROCEDURE.
Dans un script ou un lot Transact-SQL, IntelliSense prend en charge les objets spécifiés dans une instruction CREATE ou ALTER ; toutefois, ces objets n’existent pas dans la base de données, car les instructions n’ont pas été exécutées. Par exemple, vous pouvez entrer le code suivant dans l’Éditeur de requête :
USE MyTestDB;
GO
CREATE TABLE MyTable
(PrimaryKeyCol INT PRIMARY KEY,
FirstNameCol NVARCHAR(50),
LastNameCol NVARCHAR(50));
GO
SELECT
Après avoir tapé SELECT, IntelliSense répertorie PrimaryKeyCol, FirstNameColet LastNameCol comme possible dans la liste de sélection, même si le script n’a pas encore été exécuté et MyTable n’existe pas encore dans MyTestDB.