Dela via


Transact-SQL syntax som stöds av IntelliSense

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Det här avsnittet beskriver de Transact-SQL-instruktioner och syntaxelement som stöds av IntelliSense i SQL Server.

Uttryck som stöds av IntelliSense

I SQL Server stöder IntelliSense endast de vanligaste Transact-SQL-instruktioner. Vissa allmänna villkor för frågeredigeraren för databasmotorn kan hindra IntelliSense från att fungera. Mer information finns i Felsökning av IntelliSense (SQL Server Management Studio).

Not

IntelliSense är inte tillgängligt för krypterade databasobjekt, till exempel krypterade lagrade procedurer eller användardefinierade funktioner. Parameterhjälp och snabbinformation är inte tillgängliga för parametrarna för utökade lagrade procedurer och användardefinierade typer av CLR-integrering.

SELECT-instruktion

Frågeredigeraren för databasmotorn har intelliSense-stöd för följande syntaxelement i SELECT-instruktionen:

VÄLJ

VAR

FRÅN

SORTERA EFTER

ATT HA

UNION

FÖR

GRUPPERA EFTER

TOPP

ALTERNATIV (ledtråd)

Ytterligare Transact-SQL Statements som stöds

Frågeredigeraren för databasmotorn har också IntelliSense-stöd för Transact-SQL-instruktioner som visas i följande tabell.

Transact-SQL-uttalande Syntax som stöds Undantag
INFOGA All syntax förutom execute_statement-satsen. Ingen
UPPDATERA All syntax. Ingen
TA BORT All syntax. Ingen
DECLARE @local_variable All syntax. Ingen
SET @local_variable All syntax. Ingen
KÖR Körning av användardefinierade lagrade procedurer, system lagrade procedurer, användardefinierade funktioner och systemfunktioner. Ingen
SKAPA TABELL All syntax. Ingen
SKAPA VY All syntax. Ingen
SKAPA PROCEDUR All syntax. Det finns inget IntelliSense-stöd för EXTERNAL NAME-satsen.

I AS-satsen stöder IntelliSense endast de uttryck och syntaxer som anges i det här avsnittet.
ALTER-PROCEDUR Syntaxen Det finns inget IntelliSense-stöd för EXTERNAL NAME-satsen.

I AS-satsen stöder IntelliSense endast de uttryck och syntaxer som anges i det här avsnittet.
ANVÄNDA All syntax. Ingen

IntelliSense i stödda satser

IntelliSense i frågeredigeraren för databasmotorn stöder följande syntaxelement när de används i någon av de Transact-SQL-instruktioner som stöds:

  • Alla kopplingstyper, inklusive APPLY

  • PIVOT och UNPIVOT

  • Referenser till följande databasobjekt:

    • Databaser och scheman

    • Tabeller, vyer, tabellvärdesfunktioner och tabelluttryck

    • Kolumner

    • Procedurer och procedurparametrar

    • Skalära funktioner och skalära uttryck

    • Lokala variabler

    • Vanliga tabelluttryck (CTE)

  • Databasobjekt som endast refereras till i CREATE- eller ALTER-uttryck i skriptet eller batchen, men som inte finns i databasen eftersom skriptet eller batchen ännu inte har körts. Dessa objekt är följande:

    • Tabeller och procedurer som har angetts i en CREATE TABLE- eller CREATE PROCEDURE-instruktion i skriptet eller batchen.

    • Ändringar i tabeller och procedurer som har angetts i en ALTER TABLE- eller ALTER PROCEDURE-instruktion i skriptet eller batchen.

    Not

    IntelliSense är inte tillgängligt för kolumnerna i en CREATE VIEW-instruktion förrän CREATE VIEW-instruktionen har körts.

IntelliSense tillhandahålls inte för tidigare listade element när de används i andra Transact-SQL-instruktioner. Det finns till exempel IntelliSense-stöd för kolumnnamn som används i en SELECT-instruktion, men inte för kolumner som används i CREATE FUNCTION-instruktionen.

Exempel

I ett Transact-SQL skript eller batch stöder IntelliSense i databasmotorns frågeredigerare endast de instruktioner och syntax som anges i det här avsnittet. Följande Transact-SQL kodexempel visar vilka uttryck och syntaxelement Som IntelliSense stöder. I följande batch är IntelliSense till exempel tillgängligt för -instruktionen SELECT när den kodas av sig själv, men inte när den SELECT finns i en CREATE FUNCTION -instruktion.

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  

Den här funktionen gäller även för uppsättningar med Transact-SQL-instruktioner i AS-satsen i en CREATE PROCEDURE- eller ALTER PROCEDURE-instruktion.

I ett Transact-SQL skript eller batch stöder IntelliSense objekt som har angetts i en CREATE- eller ALTER-instruktion. Dessa objekt finns dock inte i databasen eftersom -instruktionerna inte har körts. Du kan till exempel ange följande kod i frågeredigeraren:

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

När du har angett SELECTlistar IntelliSense Elementen PrimaryKeyCol, FirstNameCol och LastNameCol som möjliga element i urvalslistan, även om skriptet inte har körts och MyTable ännu inte finns i MyTestDB.