Von IntelliSense unterstützte Transact-SQL-Syntax

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

Von IntelliSense unterstützte Anweisungen

In SQL Server 2008 unterstützt IntelliSense nur die am häufigsten verwendeten Transact-SQL-Anweisungen. Einige allgemeine Database Engine (Datenbankmodul)-Abfrage-Editor-Bedingungen könnten verhindern, dass IntelliSense funktioniert. Weitere Informationen finden Sie unter Behandeln von Transact-SQL IntelliSense-Problemen.

HinweisHinweis

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 weder Parameterhilfe noch QuickInfo zur Verfügung.

SELECT-Anweisung

Der Database Engine (Datenbankmodul)-Abfrage-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 Transact-SQL-Anweisungen, die unterstützt werden

Der Database Engine (Datenbankmodul)-Abfrage-Editor stellt zudem IntelliSense-Unterstützung für die in der folgenden Tabellen aufgeführten Transact-SQL-Anweisungen bereit.

Transact-SQL-Anweisung

Unterstützte Syntax

INSERT

Gesamte Syntax, außer 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 gibt keine IntelliSense-Unterstützung für die EXTERNAL NAME-Klausel.

  • 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 gibt keine IntelliSense-Unterstützung für die EXTERNAL NAME-Klausel.

  • 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

IntelliSense im Database Engine (Datenbankmodul)-Abfrage-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 in einer CREATE TABLE-Anweisung oder CREATE PROCEDURE-Anweisung im Skript oder Batch angegeben wurden.

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

    HinweisHinweis

    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 Database Engine (Datenbankmodul)-Abfrage-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 AdventureWorks2008R2;
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 AdventureWorks2008R2.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-Anweisung oder ALTER PROCEDURE-Anweisung.

In einem Transact-SQL-Skript oder -Batch unterstützt IntelliSense Objekte, die in einer CREATE-Anweisung 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 Abfrage-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, auch wenn das Skript nicht ausgeführt wurde und MyTable noch nicht in MyTestDB vorhanden ist.

Siehe auch

Andere Ressourcen