Partager via


Syntaxe Transact-SQL prise en charge par IntelliSense

Cette rubrique décrit les instructions et les éléments syntaxiques Transact-SQL pris en charge par IntelliSense Transact-SQL.

Instructions prises en charge par IntelliSense

IntelliSense Transact-SQL prend uniquement en charge les instructions Transact-SQL les plus couramment utilisées. Certaines conditions d'ordre général peuvent nuire au bon fonctionnement d'IntelliSense. Pour plus d'informations, consultez Dépannage d'IntelliSense Transact-SQL.

Notes

IntelliSense n'est pas disponible pour les objets de base de données chiffrés, tels que les procédures stockées ou les fonctions définies par l'utilisateur chiffrées. Les fonctionnalités Informations sur les paramètres et Infos express ne sont pas disponibles pour les paramètres de procédures stockées étendues et les types définis par l'utilisateur de l'intégration du CLR.

Instruction SELECT

L'éditeur Transact-SQL fournit la prise en charge IntelliSense pour les éléments syntaxiques suivants de l'instruction SELECT :

SELECT

WHERE

FROM

ORDER BY

HAVING

UNION

FOR

GROUP BY

TOP

OPTION (indicateur)

Instructions Transact-SQL supplémentaires prises en charge

L'éditeur Transact-SQL fournit également la prise en charge IntelliSense pour les instructions Transact-SQL répertoriées dans le tableau suivant.

Instruction Transact-SQL

Syntaxe prise en charge

INSERT

Toute la syntaxe, sauf la clause execute_statement.

UPDATE

Toute la syntaxe.

DELETE

Toute la syntaxe.

DECLARE @local_variable

Toute la syntaxe.

SET @local_variable

Toute la syntaxe.

EXECUTE

Exécution des procédures stockées définies par l'utilisateur, des procédures stockées système, des fonctions définies par l'utilisateur et des fonctions système.

CREATE TABLE

Toute la syntaxe.

CREATE VIEW

Toute la syntaxe.

CREATE PROCEDURE

Toute la syntaxe, avec les exceptions suivantes :

  • Il n'existe aucune prise en charge 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

Toute la syntaxe, avec les exceptions suivantes :

  • Il n'existe aucune prise en charge 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.

USE

Toute la syntaxe.

IntelliSense dans les instructions prises en charge

IntelliSense Transact-SQL dans l'éditeur Transact-SQL prend en charge les éléments syntaxiques suivants lorsqu'ils sont utilisés dans l'une des instructions Transact-SQL prises en charge :

  • Tous les types de jointures, y compris 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 table et expressions de table

    • Colonnes

    • Procédures et paramètres de procédure

    • Fonctions scalaires et expressions scalaires

    • Variables locales

    • Expressions de table communes

  • Objets de base de données référencés uniquement dans une instruction CREATE ou ALTER du script ou du lot, mais qui n'existent pas dans la base de données parce que 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 du script ou du lot.

    • Modifications apportées aux tables et procédures spécifiées dans une instruction ALTER TABLE ou ALTER PROCEDURE du script ou du lot.

    Notes

    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 précédemment répertoriés lorsqu'ils sont utilisés dans d'autres instructions Transact-SQL. Par exemple, il existe une prise en charge IntelliSense pour les noms de colonnes utilisées 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 Transact-SQL prend uniquement en charge les instructions et la syntaxe répertoriées dans cette rubrique. Les exemples de code Transact-SQL suivants indiquent les instructions et les éléments syntaxiques pris en charge par IntelliSense. Par exemple, dans le lot suivant, IntelliSense est disponible pour l'instruction SELECT lorsqu'elle est codée seule, mais pas lorsque SELECT est contenue dans une instruction CREATE FUNCTION

USE AdventureWorks;
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 AdventureWorks.Production.Product
    WHERE Name LIKE N'Road-250%'
      AND Color = N'Red'
);GO

Ces fonctionnalités s'appliquent également aux jeux d'instructions Transact-SQL dans la clause AS d'une instruction CREATE PROCEDURE ou ALTER PROCEDURE.

Dans un script ou 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 parce que les instructions n'ont pas été exécutées. Par exemple, vous pouvez entrer le code suivant dans l'éditeur Transact-SQL :

USE MyTestDB;
GO
CREATE TABLE MyTable
    (PrimaryKeyCol   INT PRIMARY KEY,
    FirstNameCol      NVARCHAR(50),
   LastNameCol       NVARCHAR(50));
GO
SELECT 

Après que vous avez tapé SELECT, IntelliSense répertorie PrimaryKeyCol, FirstNameCol et LastNameCol comme éléments possibles dans la liste de sélection, même si le script n'a pas été exécuté et que MyTable n'existe pas encore dans MyTestDB.

Voir aussi

Autres ressources

Vue d'ensemble d'IntelliSense Transact-SQL

Utilisation de la correspondance des séparateurs Transact-SQL

Utilisation d'extraits de code Transact-SQL

Dépannage d'IntelliSense Transact-SQL