Freigeben über


Von IntelliSense unterstützte Transact-SQL-Syntax

Dieses Thema beschreibt die Transact-SQL-Anweisungen und Syntaxelemente, die von Transact-SQL IntelliSense unterstützt werden.

Von IntelliSense unterstützte Anweisungen

Transact-SQL IntelliSense unterstützt nur die am häufigsten verwendeten Transact-SQL-Anweisungen. Einige allgemeine Bedingungen können verhindern, dass IntelliSense funktioniert. Weitere Informationen finden Sie unter Behandeln von Transact-SQL IntelliSense-Problemen.

Tipp

IntelliSense ist nicht für verschlüsselte Datenbankobjekte verfügbar, z. B. verschlüsselte gespeicherte Prozeduren oder benutzerdefinierte Funktionen. Für Parameter von erweiterten gespeicherten Prozeduren und benutzerdefinierten Typen für die CLR-Integration stehen die Funktionen "Parameterinfo" und "QuickInfo" nicht zur Verfügung.

SELECT-Anweisung

Der Transact-SQL-Editor stellt IntelliSense-Unterstützung für die folgenden Syntaxelemente in der SELECT-Anweisung bereit:

SELECT

WHERE

FROM

ORDER BY

HAVING

UNION

FOR

GROUP BY

TOP

OPTION (Hinweis)

Weitere unterstützte Transact-SQL-Anweisungen

Der Transact-SQL-Editor stellt zudem IntelliSense-Unterstützung für die in der folgenden Tabelle aufgeführten Transact-SQL-Anweisungen bereit.

Transact-SQL-Anweisung

Unterstützte Syntax

INSERT

Gesamte Syntax mit Ausnahme der execute_statement-Klausel.

UPDATE

Gesamte Syntax.

DELETE

Gesamte Syntax.

DECLARE @local_variable

Gesamte Syntax.

SET @local_variable

Gesamte Syntax.

EXECUTE

Ausführung von benutzerdefinierten gespeicherten Prozeduren, gespeicherten Systemprozeduren, benutzerdefinierten Funktionen und Systemfunktionen.

CREATE TABLE

Gesamte Syntax.

CREATE VIEW

Gesamte Syntax.

CREATE PROCEDURE

Gesamte Syntax mit den folgenden Ausnahmen:

  • Es ist keine IntelliSense-Unterstützung für die EXTERNAL NAME-Klausel vorhanden.

  • In der AS-Klausel unterstützt IntelliSense nur die Anweisungen und die Syntaxelemente, die in diesem Thema aufgeführt werden.

ALTER PROCEDURE

Gesamte Syntax mit den folgenden Ausnahmen:

  • Es ist keine IntelliSense-Unterstützung für die EXTERNAL NAME-Klausel vorhanden.

  • In der AS-Klausel unterstützt IntelliSense nur die Anweisungen und die Syntaxelemente, die in diesem Thema aufgeführt werden.

USE

Gesamte Syntax.

IntelliSense in unterstützten Anweisungen

Transact-SQL IntelliSense im Transact-SQL-Editor unterstützt die folgenden Syntaxelemente, wenn sie in einer der unterstützten Transact-SQL-Anweisungen verwendet werden:

  • Alle Jointypen, einschließlich APPLY

  • PIVOT und UNPIVOT

  • Verweise auf die folgenden Datenbankobjekte:

    • Datenbanken und Schemas

    • Tabellen, Sichten, Tabellenwertfunktionen und Tabellenausdrücke

    • Spalten

    • Prozeduren und Prozedurparameter

    • Skalare Funktionen und Skalarausdrücke

    • Lokale Variablen

    • Allgemeine Tabellenausdrücke (CTE)

  • Datenbankobjekte, auf die nur in der CREATE-Anweisung oder der ALTER-Anweisung im Skript oder im Batch verwiesen wird, die aber nicht in der Datenbank vorhanden sind, da das Skript bzw. der Batch noch nicht ausgeführt wurde. Nachfolgend sind diese Objekte aufgeführt:

    • Tabellen und Prozeduren, die im Skript oder Batch in einer CREATE TABLE- oder CREATE PROCEDURE-Anweisung angegeben wurden.

    • Änderungen an Tabellen und Prozeduren, die im Skript oder Batch in einer ALTER TABLE- oder ALTER PROCEDURE-Anweisung angegeben wurden.

    Tipp

    IntelliSense ist nicht verfügbar für die Spalten einer CREATE VIEW-Anweisung, solange die CREATE VIEW-Anweisung nicht ausgeführt wurde.

IntelliSense wird für die zuvor genannten Elemente nicht bereitgestellt, wenn sie in anderen Transact-SQL-Anweisungen verwendet werden. Es ist z. B. IntelliSense-Unterstützung für Spaltennamen verfügbar, die in einer SELECT-Anweisung verwendet werden, nicht jedoch für Spaltennamen, die in der CREATE FUNCTION-Anweisung verwendet werden.

Beispiele

In einem Transact-SQL-Skript oder -Batch unterstützt IntelliSense im Transact-SQL-Editor nur die Anweisungen und Syntaxelemente, die in diesem Thema aufgeführt werden. Die folgenden Transact-SQL-Codebeispiele zeigen, welche Anweisungen und Syntaxelemente von IntelliSense unterstützt werden. Beispielsweise ist im folgenden Batch IntelliSense verfügbar für die SELECT-Anweisung, wenn diese eigencodiert ist, aber nicht, wenn SELECT in einer CREATE FUNCTION-Anweisung enthalten ist.

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

Diese Funktionalität gilt auch für die Sätze von Transact-SQL-Anweisungen in der AS-Klausel einer CREATE PROCEDURE- oder ALTER PROCEDURE-Anweisung.

In einem Transact-SQL-Skript oder -Batch unterstützt IntelliSense Objekte, die in einer CREATE- oder ALTER-Anweisung angegeben sind. Allerdings sind diese Objekte nicht in der Datenbank vorhanden, da die Anweisungen nicht ausgeführt wurden. Sie können z. B. den folgenden Code im Transact-SQL-Editor eingeben:

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

Wenn Sie SELECT eingegeben haben, listet IntelliSense PrimaryKeyCol, FirstNameCol und LastNameCol als mögliche Elemente in der Auswahlliste auf. Dies gilt auch, wenn das Skript nicht ausgeführt wurde und MyTable noch nicht in MyTestDB vorhanden ist.

Siehe auch

Andere Ressourcen

Übersicht über Transact-SQL IntelliSense

Verwenden des Transact-SQL-Trennzeichenvergleichs

Verwenden von Transact-SQL-Codeausschnitten

Behandeln von Transact-SQL IntelliSense-Problemen