Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
применимо:SQL Server
Azure SQL база данных
управляемая экземпляр SQL Azure
Azure Synapse Analytics
Платформа аналитики данных (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
После ввода SELECT
IntelliSense выводит список PrimaryKeyCol, FirstNameColи LastNameCol как возможные элементы в списке выбора, даже если скрипт не был выполнен и MyTable
еще не существует в MyTestDB
.