Поделиться через


Пользовательский интерфейс конструктора запросов SQL Server

Добавления: 14 апреля 2006 г.

Службы Reporting Services предоставляют как графический конструктор запросов, так и обычный для создания запросов, предназначенных для получения данных из реляционной базы данных в качестве набора данных отчета в конструкторе отчетов. Графический конструктор запросов обеспечивает визуальное представление базовых данных из источника данных. Графический конструктор запросов используется для просмотра и интерактивного создания запроса, а также для просмотра результатов. Обычный конструктор запросов предоставляет возможность непосредственного ввода текста запроса. Обычный конструктор запросов используется для создания, вставки и редактирования текста запроса, запуска команды и просмотра результатов.

Для переключения между обычным и графическим конструктором запросов щелкните переключатель Обычный конструктор запросов (Значок для кнопки «Обычный конструктор запросов») на панели инструментов. Некоторые сложные запросы и запросы на основе выражений не могут быть представлены в графическом конструкторе запросов.

Дополнительные сведения о работе с источником данных SQL Server см. в разделе Определение наборов данных отчета для реляционной базы данных SQL Server и разделах руководства по данным отчетов.

Тип команды

Существует три разных типа команд запроса: Text, StoredProcedure и TableDirect. До создания запроса необходимо выбрать тип команды в раскрывающемся списке Тип команды. Типом команды по умолчанию является Text. Тип Text поддерживает стандартный текст запросов языка Transact-SQL для источников данных реляционных баз данных, включая модули обработки данных для Microsoft SQL Server и Oracle. Выберите StoredProcedure, чтобы использовать в запросе хранимую процедуру. Выберите TableDirect для выполнения команды, эквивалентной «SELECT *», и получения всех полей таблицы.

ms365414.note(ru-ru,SQL.90).gifПримечание.
Некоторые модули обработки данных не поддерживают определенные типы команд. Чтобы все возможности стали доступными, базовый поставщик данных должен поддерживать соответствующий тип команды. Модули обработки данных Microsoft SQL Server поддерживают только типы Text и StoredProcedure. Модуль обработки данных OLE DB с поставщиком Microsoft OLE DB для SQL Server поддерживает типы Text, StoredProcedure и TableDirect.

Для переключения типов команды нажмите кнопку Изменить выбранный набор данных на панели инструментов (Кнопка с многоточием для изменения выбранного набора данных), чтобы открыть диалоговое окно Набор данных. В раскрывающемся списке Тип команды выберите нужный тип и нажмите кнопку ОК. Конструктор запросов откроет выбранный тип команды.

Графический конструктор запросов

В графическом конструкторе запросов имеются четыре области: Диаграмма, Сетка, SQL и Результат. Можно работать с визуальным представлением таблиц базы данных и сеткой метаданных, заполненной выбранными столбцами. Для запроса Transact-SQL можно задавать столбцы и псевдонимы, а также сортировать и фильтровать значения. Можно просматривать текст созданного запроса, выполнять его и просматривать результирующий набор. Для типа команды StoredProcedure можно выбрать хранимую процедуру из раскрывающегося списка хранимых процедур, полученных из источника данных, запустить ее и просмотреть результаты в области Результат. Точно так же для типа команды TableDirect можно выбрать таблицу в раскрывающемся списке таблиц, полученных из источника данных, запустить запрос по умолчанию, который выбирает все столбцы в таблице, и просмотреть результаты в области Результат.

Тип команды Text

При использовании типа Text графический конструктор запросов предоставляет четыре раздела (или области). На следующем рисунке показана каждая область.

Графический конструктор запросов для SQL-запросов

В следующей таблице описываются функции каждой области.

Область Функция

Диаграмма

Отображает графическое представление таблиц в запросе. Используйте эту область для выбора полей и определения связей между таблицами.

Сетка

Отображает список полей, возвращаемых запросом. Используйте эту область для определения псевдонимов, сортировки, фильтрации, группирования и параметров.

SQL

Отображает запрос на языке Transact-SQL, представляемый диаграммой и областями сетки. Используйте эту область, чтобы создать или изменить запрос на языке Transact-SQL.

Результат

Отображает результаты запроса. Чтобы выполнить запрос, щелкните правой кнопкой мыши в любом месте любой области и выберите команду Выполнить, либо нажмите кнопку Выполнить на панели инструментов.

При изменении данных на любой из первых трех областей эти изменения отобразятся в остальных областях. Например, при добавлении таблицы в область «Диаграмма», эта таблица автоматически добавится в запрос на языке Transact-SQL в области «SQL». Добавление поля в запрос в область «SQL» автоматически добавит поле в список в области «Сетка» и обновит таблицу в области «Диаграмма».

Чтобы выполнить действие на определенной области, например добавить таблицу в область «Диаграмма», щелкните правой кнопкой мыши эту область и выберите необходимый пункт меню.

ms365414.note(ru-ru,SQL.90).gifВажно!
При создании или обновлении запроса с помощью конструктора запросов необходимо сохранить изменения в отчете. Для этого необходимо нажать кнопку Обновить поля (Обновление полей набора данных), переключиться в представление Макет или нажать кнопку Сохранить все в меню Файл.

Панель инструментов графического конструктора запросов

На панели инструментов графического конструктора запросов находятся кнопки, предназначенные для создания запросов на языке Transact-SQL с помощью графического интерфейса. На следующем рисунке представлена панель инструментов и таблица, описывающая каждую кнопку и ее функцию.

Панель инструментов графического конструктора запросов

Кнопка Описание
Кнопка с многоточием для изменения выбранного набора данных

Изменить выбранный набор данных.

Удаление выбранного набора данных

Удалить выбранный набор данных.

Обновление полей набора данных

Обновить поле набора данных из источника данных. Если отображается окно Наборы данных, в списке полей выбранного набора данных обновляются все изменения полей. Для вывода окна с набором данных в меню Вид щелкните Наборы данных.

Значок для кнопки «Обычный конструктор запросов»

Переключиться из графического конструктора запросов в обычный и обратно.

Переключатель «Показать/скрыть панель диаграмм»

Показать или скрыть область «Диаграмма».

Переключатель «Показать/скрыть панель сетки»

Показать или скрыть область «Сетка».

Переключатель «Показать/скрыть панель SQL»

Показать или скрыть область «SQL».

Переключатель «Показать/скрыть панель результатов»

Показать или скрыть область «Результат».

Выполнение запроса

Выполнить запрос.

Кнопка «Проверить SQL» на панели SQL

Проверить синтаксис текста запроса.

Сортировка по возрастанию для выбранного поля

Установить порядок сортировки Сортировка по возрастанию для выбранного столбца в области «Диаграмма».

Сортировка по убыванию для выбранного поля

Установить порядок сортировки Сортировка по убыванию для выбранного столбца в области «Диаграмма».

Удаление фильтра по выбранному полю

Удалить фильтр для выбранного столбца в области «Диаграмма», помеченного как имеющий фильтр (Значок фильтра рядом с выбранным столбцом для фильтрации).

Использование Group By для выбранного поля

Показать или скрыть столбец Group By в области «Сетка». Если переключатель Group By включен, в области «Сетка» появляется дополнительный столбец с именем Group By и каждое значение выбранного столбца в запросе принимает значение Group By. Это приводит к тому, что выбранный столбец включается в предложение Group By в тексте SQL-запроса. Кнопка «Group By» используется для автоматического добавления предложения GROUP BY, включающего все столбцы в предложении SELECT. Если предложение SELECT включает вызовы статистических функций (например, SUM (ColumnName)), включите каждый столбец, не участвующий в статистическом вычислении, в предложение GROUP BY, если нужно, чтобы он появился в результирующем наборе.

Чтобы появиться в области «Результат», каждый столбец в запросе должен иметь определенную для него статистическую функцию, вычисляющую значение, которое будет отображаться в области «Результат», либо этот столбец нужно указать в предложении GROUP BY SQL-запроса.

Добавление новой таблицы в область диаграмм

Добавить новую таблицу из источника данных в область «Диаграмма».

Примечание   Если добавляется новая таблица, конструктор запросов пытается сопоставить связи внешнего ключа из источника данных. После добавления таблицы подтвердите, что отношения внешнего ключа, представленные связями между таблицами, верны.

Пример

Следующий запрос возвращает список фамилий из таблицы Contact базы данных AdventureWorks:

SELECT LastName FROM Person.Contact

Из области «SQL» можно также запустить хранимую процедуру. Следующий запрос выполняет хранимую процедуру uspGetEmployeeManagers в базе данных AdventureWorks:

EXEC uspGetEmployeeManagers '1'

Тип команды StoredProcedure

При использовании типа StoredProcedure графический конструктор запросов отображает раскрывающийся список доступных хранимых процедур из источника данных и область «Результат». На следующем рисунке показана каждая область.

Конструктор SQL-запросов в режиме хранимых процедур

В следующей таблице описываются функции каждой области.

Область Функция

Раскрывающийся список хранимых процедур

Содержит список всех доступных хранимых процедур из источника данных. Выберите хранимую процедуру из списка, чтобы сделать ее активной.

Результат

Отображает результат выполнения хранимой процедуры. Для запуска выбранной хранимой процедуры нажмите кнопку Выполнить на панели инструментов.

Кнопки панели инструментов для типа команды StoredProcedure

Панель инструментов графического конструктора запросов содержит раскрывающийся список хранимых процедур в источнике данных. На следующем рисунке показана каждая кнопка и ее функция.

Кнопка Описание
Кнопка с многоточием для изменения выбранного набора данных

Изменить выбранный набор данных.

Удаление выбранного набора данных

Удалить выбранный набор данных.

Обновление полей набора данных

Обновить поле набора данных из источника данных.

Значок для кнопки «Обычный конструктор запросов»

Переключиться из графического конструктора запросов в обычный и обратно, сохранив текст запроса или вид хранимой процедуры.

Выполнение запроса

Выполнить выбранную хранимую процедуру.

Раскрывающийся список хранимых процедур

Щелкните стрелку вниз, чтобы отобразить список доступных хранимых процедур из источника данных. Для выбора хранимой процедуры щелкните любую хранимую процедуру в этом списке.

Пример

Следующая хранимая процедура вызывает список иерархии менеджеров из базы данных AdventureWorks. Эта хранимая процедура принимает в качестве параметра идентификатор EmployeeID. Можно ввести любое небольшое целое число.

uspGetEmployeeManagers '1'

Тип команды TableDirect

При использовании типа TableDirect графический конструктор запросов отображает раскрывающийся список доступных таблиц из источника данных и панель «Результат». Если выбрать таблицу и нажать кнопку Выполнить, возвращаются все столбцы этой таблицы.

ms365414.note(ru-ru,SQL.90).gifПримечание.
Этот тип поддерживают не все поставщики данных. Поставщик Microsoft OLE DB для SQL Server является единственным, поддерживающим тип TableDirect.

На следующем рисунке показана каждая область.

Конструктор SQL-запросов для режима TableDirect

В следующей таблице описываются функции каждой области.

Область Функция

Раскрывающийся список таблиц

Содержит перечень всех доступных таблиц из источника данных. Выберите таблицу из списка, чтобы сделать ее активной.

Результат

Отображает все столбцы из выбранной таблицы. Для запуска запроса к таблице нажмите кнопку Выполнить на панели инструментов.

Кнопки панели инструментов для типа команды TableDirect

Панель инструментов графического конструктора запросов содержит раскрывающийся список таблиц в источнике данных. На следующем рисунке показана каждая кнопка и ее функция.

Кнопка Описание
Кнопка с многоточием для изменения выбранного набора данных

Изменить выбранный набор данных.

Удаление выбранного набора данных

Удалить выбранный набор данных.

Обновление полей набора данных

Обновить поле набора данных из источника данных.

Значок для кнопки «Обычный конструктор запросов»

Переключиться из графического конструктора запросов в обычный и обратно, сохранив текст запроса или вид хранимой процедуры.

Выполнение запроса

Вернуть все столбцы из выбранной таблицы.

Раскрывающийся список таблиц

Щелкните стрелку вниз, чтобы отобразить список доступных таблиц из источника данных. Щелкните любую таблицу в этом списке для ее выбора.

Обычный конструктор запросов

Обычный конструктор запросов применяется для создания сложных запросов, вставки запросов из других средств или для запросов на основе выражений. Обычный конструктор запросов поддерживает те же три типа команд, что и графический конструктор запросов: Text, StoredProcedure и TableDirect. В нем имеется две области: область «Запрос», отображающая текст запроса, имя хранимой процедуры или таблицы, и область «Результат», в которой выводятся результаты выполнения запроса. Типом по умолчанию является Text.

Для изменения типа команды щелкните раскрывающийся список Тип команды на панели инструментов и выберите нужный тип.

Панель инструментов обычного конструктора запросов

Обычный конструктор запросов предоставляет одну панель инструментов для всех типов команд. На следующем рисунке представлена эта панель инструментов и таблица с описанием каждой кнопки и ее функцией.

Обычный конструктор запросов к реляционным базам данным

Кнопка

Описание

Кнопка с многоточием для изменения выбранного набора данных

Изменить выбранный набор данных.

Удаление выбранного набора данных

Удалить выбранный набор данных.

Обновление полей набора данных

Обновить поле набора данных из источника данных.

Выполнение запроса

Выполнить текстовый запрос или хранимую процедуру и вывести результирующий набор в область «Результат».

Тип команды

Выберите Text, StoredProcedure или TableDirect. Если хранимая процедура имеет параметры, при нажатии на панели инструментов кнопки Выполнить появится диалоговое окно Определить параметры запроса, в котором можно ввести значения параметров.

ms365414.note(ru-ru,SQL.90).gifПримечание.

Если хранимая процедура возвращает более одного результирующего набора, для заполнения набора данных значениями используется первый результирующий набор.

Тип команды Text

Если создается набор данных SQL Server, конструктор отчетов по умолчанию отображает обычный конструктор запросов. Чтобы переключиться в обычный конструктор запросов, щелкните переключатель «Обычный конструктор запросов» (Значок для кнопки «Обычный конструктор запросов») на панели инструментов. Обычный конструктор запросов предоставляет две области: область «Запрос» и область «Результат». На следующем рисунке показана каждая область.

Обычный конструктор запросов для запросов к реляционным данным

В следующей таблице описываются функции каждой области.

Область Функция

Запрос

Отображает запрос в виде текста на языке Transact-SQL. Эта область используется для создания или редактирования запроса на языке Transact-SQL.

Результат

Отображает результаты запроса. Чтобы выполнить запрос, щелкните правой кнопкой мыши в любом месте любой области и выберите команду Выполнить либо нажмите кнопку Выполнить на панели инструментов.

Пример

Следующий запрос возвращает список фамилий из таблицы Contact базы данных AdventureWorks.

SELECT LastName FROM Person.Contact

Следующий запрос вызывает хранимую процедуру uspgetEmployeeManagers базы данных AdventureWorks и возвращает иерархию для служащего с идентификатором 1.

EXEC uspgetEmployeeManagers '1'

При выборе Выполнить на панели инструментов выполняется команда в области Запрос, а результаты выводятся в области Результат.

Тип команды StoredProcedure

При выборе типа команды StoredProcedure обычный конструктор запросов предоставляет две области: область «Запрос» и область «Результат». Выберите хранимую процедуру из раскрывающегося списка и поместите ее в область «Запрос». Здесь можно ввести значения параметров.

Пример

Следующий запрос вызывает хранимую процедуру uspgetEmployeeManagers базы данных AdventureWorks и возвращает иерархию для служащего с идентификатором 1.

uspgetEmployeeManagers '1'

Тип команды TableDirect

При выборе типа команды TableDirect обычный конструктор запросов предоставляет две области: область «Запрос» и область «Результат». Если выбрать таблицу и нажать кнопку Выполнить, возвращаются все столбцы этой таблицы.

Пример

Следующий запрос возвращает результирующий набор, содержащий всех клиентов в базе данных AdventureWorks. Выбор имени таблицы Customers в раскрывающемся списке эквивалентен созданию запроса Transact-SQL SELECT * FROM Customers. В область «Запрос» помещается следующий текст.

Customers

См. также

Другие ресурсы

Средства проектирования запросов в службах Reporting Services
Определение наборов данных отчета
Определение наборов данных отчета для реляционной базы данных SQL Server
Определение наборов данных отчетов для других источников данных
Установка образцов баз данных и примеров AdventureWorks

Справка и поддержка

Получение помощи по SQL Server 2005