Udostępnij za pośrednictwem


Transact-SQL Składnia obsługiwana przez funkcję IntelliSense

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

W tym temacie opisano instrukcje Transact-SQL i elementy składni obsługiwane przez funkcję IntelliSense w programie SQL Server.

Instrukcje obsługiwane przez funkcję IntelliSense

W programie SQL Server funkcja IntelliSense obsługuje tylko najczęściej używane instrukcje Transact-SQL. Niektóre ogólne warunki działania Edytora Zapytań Mechanizmu Bazy Danych mogą uniemożliwić funkcjonowanie IntelliSense. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z funkcją IntelliSense (SQL Server Management Studio).

Notatka

Funkcja IntelliSense nie jest dostępna dla zaszyfrowanych obiektów bazy danych, takich jak zaszyfrowane procedury składowane lub funkcje zdefiniowane przez użytkownika. Pomoc parametrów i szybkie informacje nie są dostępne dla parametrów rozszerzonych procedur składowanych i typów zdefiniowanych przez użytkownika integracji CLR.

instrukcja SELECT

Edytor zapytań silnika bazy danych oferuje wsparcie funkcji IntelliSense dla następujących elementów składni w instrukcji SELECT:

WYBRAĆ

GDZIE

Z

SORTUJ WEDŁUG

POSIADANIE

UNIA

DLA

GRUPUJ WEDŁUG

Do góry

OPCJA (wskazówka)

Dodatkowe instrukcje Transact-SQL, które są obsługiwane

Edytor zapytań silnika bazy danych oferuje również funkcję IntelliSense dla poleceń Transact-SQL przedstawionych w poniższej tabeli.

Transact-SQL, instrukcja Obsługiwana składnia Wyjątki
INSERT Cała składnia, z wyjątkiem klauzuli execute_statement. Żaden
AKTUALIZACJA Cała składnia. Żaden
USUŃ Cała składnia. Żaden
DECLARE @local_variable Cała składnia. Żaden
SET @local_variable Cała składnia. Żaden
WYKONAJ Wykonywanie procedur składowanych zdefiniowanych przez użytkownika, systemowych procedur składowanych, funkcji zdefiniowanych przez użytkownika i funkcji systemowych. Żaden
CREATE TABLE Cała składnia. Żaden
CREATE VIEW Cała składnia. Żaden
TWORZENIE PROCEDURY Cała składnia. Funkcja IntelliSense nie jest obsługiwana dla klauzuli EXTERNAL NAME.

W klauzuli AS funkcja IntelliSense obsługuje tylko instrukcje i składnię wymienioną w tym temacie.
ALTER PROCEDURE Cała składnia Nie ma obsługi funkcji IntelliSense dla klauzuli EXTERNAL NAME.

W klauzuli AS, IntelliSense wspiera tylko instrukcje i składnię wymienioną w tym temacie.
USE Cała składnia. Żaden

Funkcja IntelliSense w obsługiwanych instrukcjach

IntelliSense w Edytorze Zapytań Bazy Danych obsługuje następujące elementy składni, gdy są używane w jednej z obsługiwanych instrukcji Transact-SQL.

  • Wszystkie typy łączenia, w tym APPLY

  • PIVOT i UNPIVOT

  • Odwołania do następujących obiektów bazy danych:

    • Bazy danych i schematy

    • Tabele, widoki, funkcje wartości tabeli i wyrażenia tabeli

    • Kolumny

    • Procedury i parametry procedury

    • Funkcje skalarne i wyrażenia skalarne

    • Zmienne lokalne

    • Typowe wyrażenia tabeli (CTE)

  • Obiekty bazy danych, do których odwołuje się tylko instrukcje CREATE lub ALTER w skrypcie lub partii, ale które nie istnieją w bazie danych, ponieważ skrypt lub partia nie została jeszcze uruchomiona. Te obiekty są następujące:

    • Tabele i procedury określone w instrukcji CREATE TABLE lub CREATE PROCEDURE w skrypce lub partii.

    • Zmiany tabel i procedur, które zostały określone w instrukcji ALTER TABLE lub ALTER PROCEDURE w skrypce lub partii.

    Notatka

    Funkcja IntelliSense nie jest dostępna dla kolumn instrukcji CREATE VIEW, dopóki instrukcja CREATE VIEW nie zostanie wykonana.

Funkcja IntelliSense nie jest udostępniana dla wcześniej wymienionych elementów, gdy są one używane w innych instrukcjach Transact-SQL. Na przykład istnieje obsługa funkcji IntelliSense dla nazw kolumn używanych w instrukcji SELECT, ale nie dla kolumn używanych w instrukcji CREATE FUNCTION.

Przykłady

W ramach skryptu lub partii poleceń Transact-SQL funkcja IntelliSense w Edytorze zapytań silnika bazy danych obsługuje tylko instrukcje i składnię wymienione w tym temacie. W poniższych przykładach kodu Transact-SQL przedstawiono instrukcje i elementy składni obsługiwane przez funkcję IntelliSense. Na przykład w następującej partii funkcja IntelliSense jest dostępna dla instrukcji SELECT, gdy jest ona kodowana samodzielnie, ale nie wtedy, gdy SELECT jest zawarta w instrukcji CREATE FUNCTION.

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  

Ta funkcja ma również zastosowanie do zestawów instrukcji Transact-SQL w klauzuli AS instrukcji CREATE PROCEDURE lub ALTER PROCEDURE.

W ramach skryptu Transact-SQL lub partii funkcja IntelliSense obsługuje obiekty określone w instrukcji CREATE lub ALTER; jednak te obiekty nie istnieją w bazie danych, ponieważ instrukcje nie zostały wykonane. Na przykład możesz wprowadzić następujący kod w Edytorze zapytań:

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

Po wpisaniu SELECTfunkcja IntelliSense wyświetla listę PrimaryKeyCol, FirstNameColi LastNameCol jako możliwe elementy na liście selekcji, nawet jeśli skrypt nie został wykonany, a MyTable jeszcze nie istnieje w MyTestDB.