Синтаксис языка Transact-SQL, поддерживаемый технологией IntelliSense
В данном разделе приводится описание инструкций Transact-SQL и элементов синтаксиса, которые поддерживаются технологией IntelliSense Transact-SQL.
Инструкции, поддерживаемые технологией IntelliSense
Технология IntelliSense Transact-SQL поддерживает только наиболее часто используемые инструкции Transact-SQL. Некоторые общие условия могут мешать нормальной работе технологии IntelliSense. Дополнительные сведения см. в разделе Устранение неполадок технологии IntelliSense для Transact-SQL.
Примечание
Технология IntelliSense недоступна для зашифрованных объектов баз данных, например зашифрованных хранимых процедур или определяемых пользователем функций. Функции «сведения о параметрах» и «быстрая справка» недоступны для параметров расширенных хранимых процедур и определяемых пользователями типов интеграции со средой CLR.
Инструкция SELECT
Редактор Transact-SQL обеспечивает поддержку IntelliSense для следующих элементов синтаксиса в инструкции SELECT:
SELECT |
WHERE |
FROM |
ORDER BY |
HAVING |
UNION |
FOR |
GROUP BY |
TOP |
OPTION (подсказка) |
Дополнительные поддерживаемые инструкции Transact-SQL
Редактор Transact-SQL также обеспечивает поддержку технологии IntelliSense для инструкций Transact-SQL, представленных в следующей таблице.
Инструкция Transact-SQL |
Поддерживаемый синтаксис |
---|---|
INSERT |
Все синтаксические конструкции, кроме предложения execute_statement. |
UPDATE |
Все синтаксические конструкции. |
DELETE |
Все синтаксические конструкции. |
DECLARE @local_variable |
Все синтаксические конструкции. |
SET @local_variable |
Все синтаксические конструкции. |
EXECUTE |
Выполнение определяемых пользователем хранимых процедур, системных хранимых процедур, определяемых пользователем функций и системных функций. |
CREATE TABLE |
Все синтаксические конструкции. |
CREATE VIEW |
Все синтаксические конструкции. |
CREATE PROCEDURE |
Все синтаксические конструкции, кроме следующих.
|
ALTER PROCEDURE |
Все синтаксические конструкции, кроме следующих.
|
USE |
Все синтаксические конструкции. |
Технология IntelliSense в поддерживаемых инструкциях
Технология IntelliSense Transact-SQL в редакторе Transact-SQL поддерживает следующие элементы синтаксиса, когда они используются в одной из поддерживаемых инструкций Transact-SQL:
Все типы соединения, включая APPLY
PIVOT и UNPIVOT
Ссылки на следующие объекты базы данных:
Базы данных и схемы
Таблицы, представления, возвращающие табличные значения функции и табличные выражения
Столбцы
Процедуры и параметры процедур
Скалярные функции и скалярные выражения
Локальные переменные
Обобщенные табличные выражения (СТЕ)
Объекты базы данных, ссылки на которые есть только в инструкциях 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 поддерживает только те инструкции и синтаксис, которые приводятся в данном разделе. В следующих примерах кода Transact-SQL показано, для каких инструкций и элементов синтаксиса поддерживается технология IntelliSense. Например, в следующем пакете технология IntelliSense доступна для инструкции SELECT, когда она используется в коде самостоятельно, а не содержится в инструкции CREATE FUNCTION.
USE AdventureWorks;
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 AdventureWorks.Production.Product
WHERE Name LIKE N'Road-250%'
AND Color = N'Red'
);GO
Данная функция также применяется к наборам инструкций Transact-SQL в предложении AS инструкции CREATE PROCEDURE или ALTER PROCEDURE.
Внутри скрипта или пакета технология IntelliSense Transact-SQL поддерживает объекты, которые были указаны в инструкции CREATE или ALTER, однако эти объекты не существуют в базе данных, поскольку инструкции не были выполнены. Например, можно ввести следующий код в редакторе Transact-SQL:
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.
См. также
Другие ресурсы
Общие сведения о технологии IntelliSense для Transact-SQL
Использование сопоставления разделителей Transact-SQL
Использование фрагментов кода Transact-SQL
Устранение неполадок технологии IntelliSense для Transact-SQL