Delen via


Transact-SQL syntaxis die wordt ondersteund door IntelliSense

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

In dit onderwerp worden de Transact-SQL instructies en syntaxiselementen beschreven die worden ondersteund door IntelliSense in SQL Server.

Verklaringen die worden ondersteund door IntelliSense

In SQL Server ondersteunt IntelliSense alleen de meest gebruikte Transact-SQL-instructies. Sommige algemene voorwaarden van de Database Engine-queryeditor kunnen verhinderen dat IntelliSense functioneert. Zie Problemen met IntelliSense (SQL Server Management Studio) oplossen voor meer informatie.

Opmerking

IntelliSense is niet beschikbaar voor versleutelde databaseobjecten, zoals versleutelde opgeslagen procedures of door de gebruiker gedefinieerde functies. Help en Snelle informatie over parameters zijn niet beschikbaar voor de parameters van uitgebreide opgeslagen procedures en door de gebruiker gedefinieerde clr-integratietypen.

SELECT-instructie

De Database Engine Query-editor biedt IntelliSense-ondersteuning voor de volgende syntaxiselementen in de SELECT-instructie:

SELECTEREN

WAAR

VAN

SORTEREN OP

HEBBEN

UNIE

VOOR

GROEP OP

BOVEN

OPTIE (hint)

Aanvullende Transact-SQL-instructies die worden ondersteund

De Database Engine Query-editor biedt ook IntelliSense-ondersteuning voor Transact-SQL instructies die worden weergegeven in de volgende tabel.

Transact-SQL-verklaring Ondersteunde syntaxis Uitzonderingen
INVOEGEN Alle syntaxis, met uitzondering van de execute_statement component. Geen
UPDATE Alle syntaxis. Geen
VERWIJDEREN Alle syntaxis. Geen
DECLARE @local_variable Alle syntaxis. Geen
SET @local_variable Alle syntaxis. Geen
EXECUTEREN Uitvoering van door de gebruiker gedefinieerde opgeslagen procedures, door het systeem opgeslagen procedures, door de gebruiker gedefinieerde functies en systeemfuncties. Geen
TABEL MAKEN Alle syntaxis. Geen
VIEW AANMAKEN Alle syntaxis. Geen
PROCEDURE MAKEN Alle syntaxis. Er is geen IntelliSense-ondersteuning voor de EXTERNAL NAME-clausule.

In de AS-clausule ondersteunt IntelliSense alleen de instructies en syntaxis die in dit onderwerp zijn opgesomd.
ALTER PROCEDURE Alle syntaxis Er is geen IntelliSense-ondersteuning voor de EXTERNAL NAME-clausule.

In de AS-clausule ondersteunt IntelliSense alleen de instructies en syntaxis die in dit onderwerp zijn opgesomd.
GEBRUIK Alle syntaxis. Geen

IntelliSense in ondersteunde verklaringen

IntelliSense in de database-enginequery-editor ondersteunt de volgende syntaxiselementen wanneer deze worden gebruikt in een van de ondersteunde Transact-SQL-instructies:

  • Alle jointypen, waaronder APPLY

  • PIVOT en UNPIVOT

  • Verwijzingen naar de volgende databaseobjecten:

    • Databases en schema's

    • Tabellen, weergaven, tabelwaardefuncties en tabelexpressies

    • Kolommen

    • Procedures en procedureparameters

    • Scalaire functies en scalaire expressies

    • Lokale variabelen

    • Algemene tabelexpressies (CTE)

  • Databaseobjecten waarnaar alleen wordt verwezen in CREATE- of ALTER-instructies in het script of de batch, maar die niet bestaan in de database omdat het script of de batch nog niet is uitgevoerd. Deze objecten zijn als volgt:

    • Tabellen en procedures die zijn opgegeven in een CREATE TABLE- of CREATE PROCEDURE-instructie in het script of de batch.

    • Wijzigingen in tabellen en procedures die zijn opgegeven in een ALTER TABLE- of ALTER PROCEDURE-instructie in het script of de batch.

    Opmerking

    IntelliSense is niet beschikbaar voor de kolommen van een CREATE VIEW-instructie totdat de INSTRUCTIE CREATE VIEW is uitgevoerd.

IntelliSense is niet beschikbaar gemaakt voor de eerder vermelde elementen wanneer ze worden gebruikt in andere Transact-SQL instructies. Er is bijvoorbeeld IntelliSense-ondersteuning voor kolomnamen die worden gebruikt in een SELECT-instructie, maar niet voor kolommen die worden gebruikt in de instructie CREATE FUNCTION.

Voorbeelden

Binnen een Transact-SQL-script of batch ondersteunt IntelliSense in de Database Engine Query Editor alleen de instructies en syntaxis zoals in dit onderwerp vermeld. In de volgende Transact-SQL codevoorbeelden ziet u welke instructies en syntaxiselementen in IntelliSense worden ondersteund. In de volgende batch is IntelliSense bijvoorbeeld beschikbaar voor de SELECT instructie wanneer deze zelf wordt gecodeerd, maar niet wanneer de SELECT in een CREATE FUNCTION instructie is opgenomen.

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

Deze functionaliteit is ook van toepassing op de sets van Transact-SQL-instructies in de AS-component van een CREATE PROCEDURE- of ALTER PROCEDURE-instructie.

Binnen een Transact-SQL script of batch ondersteunt IntelliSense objecten die zijn opgegeven in een CREATE- of ALTER-instructie; deze objecten bestaan echter niet in de database omdat de instructies niet zijn uitgevoerd. U kunt bijvoorbeeld de volgende code invoeren in de Query-editor:

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

Nadat u hebt getypt SELECT, worden intelliSense primaryKeyCol, FirstNameCol en LastNameCol als mogelijke elementen in de selectielijst weergegeven, zelfs als het script nog niet is uitgevoerd en MyTable nog niet bestaat in MyTestDB.