Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описываются инструкции и элементы синтаксиса Transact-SQL, которые поддерживаются технологией IntelliSense в SQL Server 2012.
Инструкции, поддерживаемые технологией IntelliSense
В SQL Server 2012 технология IntelliSense поддерживается только для наиболее часто используемых инструкций Transact-SQL. Некоторые общие условия редактора запросов компонента Компонент Database Engine могут блокировать работу технологии IntelliSense. Дополнительные сведения см. в разделе Устранение сбоев в работе IntelliSense (среда SQL Server Management Studio).
Примечание |
|---|
Технология IntelliSense недоступна для зашифрованных объектов баз данных, например зашифрованных хранимых процедур или определяемых пользователем функций. Справка и краткие сведения по параметрам недоступны для параметров расширенных хранимых процедур и определяемых пользователем типов при интеграции со средой CLR. |
Инструкция SELECT
Редактор запросов компонента Компонент Database Engine обеспечивает поддержку технологии IntelliSense для следующих синтаксических элементов в инструкции SELECT:
SELECT |
WHERE |
FROM |
ORDER BY |
HAVING |
UNION |
FOR |
GROUP BY |
TOP |
OPTION (указание) |
Дополнительные поддерживаемые инструкции Transact-SQL
Редактор запросов компонента Компонент Database Engine также обеспечивает поддержку технологии IntelliSense для инструкций Transact-SQL, приведенных в следующей таблице.
Инструкция Transact-SQL |
Поддерживаемый синтаксис |
|---|---|
Все синтаксические конструкции, кроме предложения execute_statement. |
|
Все синтаксические конструкции. |
|
Все синтаксические конструкции. |
|
Все синтаксические конструкции. |
|
Все синтаксические конструкции. |
|
Выполнение определяемых пользователем хранимых процедур, системных хранимых процедур, определяемых пользователем функций и системных функций. |
|
Все синтаксические конструкции. |
|
Все синтаксические конструкции. |
|
Все синтаксические конструкции, кроме следующих.
|
|
Все синтаксические конструкции, кроме следующих.
|
|
Все синтаксические конструкции. |
Технология IntelliSense в поддерживаемых инструкциях
В редакторе запросов компонента Компонент Database Engine технология IntelliSense поддерживается для следующих синтаксических элементов при их использовании в одной из поддерживаемых инструкций 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 в редакторе запросов компонента Компонент Database Engine поддерживается только для тех инструкций и синтаксических конструкций, которые перечислены в этом разделе. В следующих примерах кода Transact-SQL показано, для каких инструкций и элементов синтаксиса поддерживается технология IntelliSense. Например, в следующем пакете технология IntelliSense доступна для инструкции SELECT, когда она используется в коде самостоятельно, а не содержится в инструкции CREATE FUNCTION.
USE AdventureWorks2012;
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 AdventureWorks2012.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.