Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом разделе описаны операторы Transact-SQL и элементы синтаксиса, поддерживаемые IntelliSense в SQL Server 2014.
Инструкции, поддерживаемые IntelliSense
В SQL Server 2014 IntelliSense поддерживает только наиболее часто используемые инструкции Transact-SQL. Некоторые общие условия редактора запросов ядра СУБД могут предотвратить работу IntelliSense. Дополнительные сведения смотрите в разделе Устранение неполадок IntelliSense (SQL Server Management Studio).
Замечание
IntelliSense недоступен для зашифрованных объектов базы данных, таких как зашифрованные хранимые процедуры или определяемые пользователем функции. Справка по параметрам и краткие сведения недоступны для параметров расширенных хранимых процедур и определяемых пользователем типов интеграции CLR.
Инструкция SELECT
Редактор запросов ядра СУБД предоставляет поддержку IntelliSense для следующих элементов синтаксиса в инструкции SELECT:
| ВЫБЕРИТЕ | ГДЕ |
| ОТ | ORDER BY (СОРТИРОВАТЬ ПО) |
| ОБЛАДАНИЕ | СОЮЗ |
| ДЛЯ | ГРУППИРОВКА ПО |
| Вверх | ВАРИАНТ (подсказка) |
Дополнительные инструкции Transact-SQL, поддерживаемые
Редактор запросов ядра СУБД также предоставляет поддержку IntelliSense для инструкций Transact-SQL, отображаемых в следующей таблице.
| заявление Transact-SQL | Поддерживаемый синтаксис |
|---|---|
| ВСТАВКА | Весь синтаксис, кроме условия execute_statement. |
| ОБНОВЛЯТЬ | Весь синтаксис. |
| УДАЛИТЬ | Весь синтаксис. |
| DECLARE @local_variable | Весь синтаксис. |
| SET @local_variable | Весь синтаксис. |
| Выполнить | Выполнение определяемых пользователем хранимых процедур, системных хранимых процедур, определяемых пользователем функций и системных функций. |
| СОЗДАТЬ ТАБЛИЦУ | Весь синтаксис. |
| СОЗДАТЬ ПРЕДСТАВЛЕНИЕ | Весь синтаксис. |
| СОЗДАТЬ ПРОЦЕДУРУ | Весь синтаксис со следующими исключениями: Поддержка IntelliSense для предложения EXTERNAL NAME отсутствует. В конструкции AS IntelliSense поддерживает только те операторы и синтаксис, которые перечислены в этом разделе. |
| ALTER PROCEDURE | Весь синтаксис со следующими исключениями: Поддержка 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 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
После ввода SELECTIntelliSense выводит список PrimaryKeyCol, FirstNameColи LastNameCol как возможные элементы в списке выбора, даже если скрипт не был выполнен и MyTable еще не существует в MyTestDB.