Transact-SQL Składnia obsługiwana przez funkcję IntelliSense
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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 SELECT
funkcja 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
.