Transact-SQL syntaxe podporovaná technologií IntelliSense

Platí pro: SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Toto téma popisuje příkazy Transact-SQL a elementy syntaxe podporované technologií IntelliSense na SQL Serveru.

Příkazy podporované funkcí IntelliSense

Technologie IntelliSense v SQL Serveru podporuje pouze nejčastěji používané příkazy Transact-SQL. Některé obecné podmínky Editoru dotazů databázového stroje můžou zabránit fungování technologie IntelliSense. Další informace najdete v tématu řešení potíží s technologií IntelliSense (SQL Server Management Studio).

Poznámka

IntelliSense není k dispozici pro šifrované databázové objekty, jako jsou šifrované uložené procedury nebo uživatelem definované funkce. Nápověda k parametrům a Rychlé informace nejsou k dispozici pro parametry rozšířených uložených procedur a uživatelsky definovaných typů integrace CLR.

Příkaz SELECT

Editor dotazů databázového stroje poskytuje podporu IntelliSense pro následující prvky syntaxe v příkazu SELECT:

SELECT

KDE

OD

SEŘADIT PODLE

MAJÍCÍ

UNIE

PRO

SESKUPIT PODLE

NEJLEPŠÍ

MOŽNOST (nápověda)

Podporované další příkazy Transact-SQL

Editor dotazů databázového stroje také poskytuje podporu Technologie IntelliSense pro příkazy Transact-SQL, které jsou uvedeny v následující tabulce.

Příkaz Transact-SQL Podporovaná syntaxe Výjimky
VLOŽIT Veškerá syntaxe s výjimkou klauzule execute_statement. Žádný
Aktualizace Veškerá syntaxe. Žádný
ODSTRANIT Veškerá syntaxe. Žádný
DECLARE @local_variable Veškerá syntaxe. Žádný
SET @local_variable Veškerá syntaxe. Žádný
PROVÉST Provádění uživatelem definovaných uložených procedur, systémových uložených procedur, uživatelem definovaných funkcí a systémových funkcí. Žádný
Vytvořit tabulku (CREATE TABLE) Veškerá syntaxe. Žádný
VYTVOŘIT NÁHLED Veškerá syntaxe. Žádný
VYTVOŘIT PROCEDURU Veškerá syntaxe. Pro technologii IntelliSense není dostupná podpora pro klauzuli EXTERNAL NAME.

V klauzuli AS intelliSense podporuje pouze příkazy a syntaxi uvedené v tomto tématu.
ALTER PROCEDURE Veškerá syntaxe Pro technologii IntelliSense není dostupná podpora pro klauzuli EXTERNAL NAME.

V klauzuli AS intelliSense podporuje pouze příkazy a syntaxi uvedené v tomto tématu.
POUŽÍVAT Veškerá syntaxe. Žádný

IntelliSense v podporovaných příkazech

IntelliSense v Editoru dotazů databázového stroje podporuje následující prvky syntaxe, pokud se používají v jednom z podporovaných příkazů Transact-SQL:

  • Všechny typy spojení, včetně APPLY

  • PIVOT a UNPIVOT

  • Odkazy na následující databázové objekty:

    • Databáze a schémata

    • Tabulky, zobrazení, funkce s hodnotami tabulky a výrazy tabulky

    • Sloupce

    • Procedury a jejich parametry

    • Skalární funkce a skalární výrazy

    • Místní proměnné

    • Běžné výrazy tabulek (CTE)

  • Databázové objekty odkazované pouze v příkazech CREATE nebo ALTER ve skriptu nebo dávce, které však v databázi neexistují, protože skript nebo dávka ještě nebyly spuštěny. Tyto objekty jsou následující:

    • Tabulky a procedury zadané v příkazu CREATE TABLE nebo CREATE PROCEDURE ve skriptu nebo dávce

    • Změny tabulek a procedur zadaných v příkazu ALTER TABLE nebo ALTER PROCEDURE ve skriptu nebo dávce

    Poznámka

    IntelliSense není k dispozici pro sloupce příkazu CREATE VIEW, dokud se nespustí příkaz CREATE VIEW.

IntelliSense není k dispozici pro dříve uvedené prvky, pokud se používají v jiných příkazech Transact-SQL. Existuje například podpora IntelliSense pro názvy sloupců, které se používají v příkazu SELECT, ale ne pro sloupce, které se používají v příkazu CREATE FUNCTION.

Příklady

V rámci skriptu nebo dávky Transact-SQL podporuje IntelliSense v dotazovacím editoru databázového stroje pouze příkazy a syntaxi uvedené v tomto tématu. Následující Transact-SQL příklady kódu ukazují, jaké příkazy a prvky syntaxe IntelliSense podporuje. Například v následující dávce je technologie IntelliSense k dispozici pro SELECT příkaz, pokud je kódována samostatně, ale ne v případě, že SELECT je obsažena v CREATE FUNCTION příkazu.

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  

Tato funkce platí také pro sady příkazů Transact-SQL v klauzuli AS příkazu CREATE PROCEDURE nebo ALTER PROCEDURE.

V rámci Transact-SQL skriptu nebo dávky technologie IntelliSense podporuje objekty, které byly zadány v příkazu CREATE nebo ALTER; Tyto objekty však v databázi neexistují, protože příkazy nebyly provedeny. V Editoru dotazů můžete například zadat následující kód:

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

Po zadání SELECT systém IntelliSense vypíše jako možné elementy select seznamu PrimaryKeyCol, FirstNameCol a LastNameCol, a to i v případě, že skript nebyl spuštěn a MyTable ještě neexistuje v MyTestDB.