Von IntelliSense unterstützte Transact-SQL-Syntax
In diesem Thema werden die Transact-SQL-Anweisungen und Syntaxelemente beschrieben, die von IntelliSense in SQL Server 2014 unterstützt werden.
Von IntelliSense unterstützte Anweisungen
In SQL Server 2014 unterstützt IntelliSense nur die am häufigsten verwendeten Transact-SQL-Anweisungen. Einige allgemeine Datenbank-Engine -Abfrage-Editor-Bedingungen könnten verhindern, dass IntelliSense funktioniert. Weitere Informationen finden Sie unter Problembehandlung von IntelliSense (SQL Server Management Studio).
Hinweis
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 Datenbank-Engine -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 Datenbank-Engine-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 | Die 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 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 Datenbank-Engine -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.
Hinweis
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 TransactSQL-Skript oder -Batch werden von IntelliSense nur die in diesem Thema aufgeführten Anweisungen und Syntaxelemente im Datenbank-Engine-Abfrage-Editor unterstützt. 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 AdventureWorks2012;
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 AdventureWorks2012.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 werden von IntelliSense Objekte unterstützt, 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, FirstNameColund 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.