Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
В этом разделе описываются операторы Transact-SQL и элементы синтаксиса, поддерживаемые IntelliSense в SQL Server.
Инструкции, поддерживаемые IntelliSense
В SQL Server IntelliSense поддерживает только наиболее часто используемые операторы Transact-SQL. Некоторые общие условия редактора запросов ядра СУБД могут предотвратить работу IntelliSense. Дополнительные сведения смотрите в разделе Устранение неполадок IntelliSense (SQL Server Management Studio).
Заметка
IntelliSense недоступен для зашифрованных объектов базы данных, таких как зашифрованные хранимые процедуры или определяемые пользователем функции. Справка по параметрам и быстрая информация недоступны для параметров расширенных хранимых процедур и определяемых пользователем типов интеграции CLR.
Инструкция SELECT
Редактор запросов ядра СУБД предоставляет поддержку IntelliSense для следующих элементов синтаксиса в инструкции SELECT:
ВЫБЕРИТЕ
ГДЕ
ОТ
УПОРЯДОЧИТЬ ПО
ОБЛАДАНИЕ
СОЮЗ
ДЛЯ
ГРУППИРОВКА ПО
ВВЕРХ
ВАРИАНТ (подсказка)
Дополнительные инструкции Transact-SQL, поддерживаемые
Редактор запросов ядра СУБД также предоставляет поддержку IntelliSense для инструкций Transact-SQL, отображаемых в следующей таблице.
| заявление Transact-SQL | Поддерживаемый синтаксис | Исключения |
|---|---|---|
| ВСТАВКА | Весь синтаксис, кроме условия execute_statement. | Нет |
| ОБНОВЛЕНИЕ | Весь синтаксис. | Нет |
| УДАЛИТЬ | Весь синтаксис. | Нет |
| DECLARE @local_variable | Весь синтаксис. | Нет |
| SET @local_variable | Весь синтаксис. | Нет |
| ВЫПОЛНИТЬ | Выполнение определяемых пользователем хранимых процедур, системных хранимых процедур, определяемых пользователем функций и системных функций. | Нет |
| СОЗДАТЬ ТАБЛИЦУ | Весь синтаксис. | Нет |
| СОЗДАТЬ ПРЕДСТАВЛЕНИЕ | Весь синтаксис. | Нет |
| СОЗДАТЬ ПРОЦЕДУРУ | Весь синтаксис. | Нет поддержки IntelliSense для предложения EXTERNAL NAME. В конструкции AS IntelliSense поддерживает только те операторы и синтаксис, которые перечислены в этом разделе. |
| ИЗМЕНИТЬ ПРОЦЕДУРУ | Весь синтаксис | Нет поддержки IntelliSense для предложения EXTERNAL NAME. В конструкции AS IntelliSense поддерживает только те операторы и синтаксис, которые перечислены в этом разделе. |
| ИСПОЛЬЗОВАНИЕ | Весь синтаксис. | Нет |
IntelliSense в поддерживаемых инструкциях
IntelliSense в редакторе запросов ядра СУБД поддерживает следующие элементы синтаксиса, если они используются в одной из поддерживаемых инструкций Transact-SQL:
Все типы соединений, включая APPLY
PIVOT и UNPIVOT
Ссылки на следующие объекты базы данных:
Базы данных и схемы
Таблицы, представления, табличное значение функций и табличные выражения
Столбцы
Процедуры и параметры процедур
Скалярные функции и скалярные выражения
Локальные переменные
Распространенные табличные выражения (CTE)
Объекты базы данных, на которые ссылаются только инструкции CREATE или ALTER в скрипте или пакете, но которые не существуют в базе данных, так как скрипт или пакет еще не запущен. Эти объекты приведены следующим образом:
Таблицы и процедуры, указанные в инструкции CREATE TABLE или CREATE PROCEDURE в скрипте или пакете.
Изменения таблиц и процедур, указанных в инструкции ALTER TABLE или ALTER PROCEDURE в скрипте или пакете.
Заметка
IntelliSense недоступен для столбцов инструкции CREATE VIEW до выполнения инструкции CREATE VIEW.
IntelliSense не предоставляется для ранее перечисленных элементов, когда они используются в других операторах Transact-SQL. Например, поддержка IntelliSense для имен столбцов, используемых в инструкции SELECT, но не для столбцов, используемых в инструкции CREATE FUNCTION.
Примеры
В сценарии или пакете Transact-SQL IntelliSense в редакторе запросов ядра базы данных поддерживает только те инструкции и синтаксис, которые перечислены в этом разделе. В следующих Transact-SQL примерах кода показывается, какие операторы и элементы синтаксиса поддерживает IntelliSense. Например, в следующей партии IntelliSense доступен для инструкции SELECT, если она закодирована самостоятельно, но SELECT не доступен, когда она содержится в инструкции 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
Эта функция также применяется к наборам инструкций Transact-SQL в предложении AS инструкции CREATE PROCEDURE или ALTER PROCEDURE.
В Transact-SQL скрипте или пакете IntelliSense поддерживает объекты, указанные в инструкции CREATE или ALTER; однако эти объекты не существуют в базе данных, так как инструкции не были выполнены. Например, в редакторе запросов можно ввести следующий код:
USE MyTestDB;
GO
CREATE TABLE MyTable
(PrimaryKeyCol INT PRIMARY KEY,
FirstNameCol NVARCHAR(50),
LastNameCol NVARCHAR(50));
GO
SELECT
После ввода SELECTIntelliSense перечисляет в списке элементов PrimaryKeyCol, FirstNameCol и LastNameCol как возможные элементы в списке выбора, даже если скрипт не был выполнен и MyTable еще не существует.MyTestDB