SQL запрос

Компонент "SQL запрос" предназначен для осуществления SQL-запросов как во внутреннюю базу данных «Infinity Call-центр X», так и во внешние СУБД посредством технологии ADO/ODBC.

1.png

Все внешние базы данных к которым необходим доступ из сценариев и из других служб «Infinity Call-центр X» описываются в разделе "Базы данных" администрирования комплекса.

!

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

 2.png

Свойства компонента:

Компонент "SQL запрос" относится к компонентам с непостоянным количеством наборов параметров. Часть параметров статические – указание на базу данных, тело запроса, таймаут, а часть параметров динамические и изменяются в зависимости от параметров самого запроса. К динамическим параметрам относятся параметры, которые используются в самом запросе – это входные переменные для запроса и выходные переменные.

Статические параметры:

- База данных - указание конкретной базы данных из перечня описанных в «Infinity Call-центр X» баз данных, выбирается из выпадающего списка;

!

При описании базы данных указывается механизм доступа и параметры учетной записи от имени которой происходит доступ.

- SQL Запрос – тело SQL запроса к базе данных;

!

1. Входные параметры запроса (переменные), которые должны быть переданы в тело запроса, обозначаются знаком двоеточия в начале. Например: в запросе "Sel ect MyA, MyB fr om MyTable where MyC=:VarC" используется переменная "VarC", которая будет являться входным параметром к запросу. Все выходными параметрами запроса будут MyA и MyB.
2. Если результирующий набор данных возвращает более одной строки, то в выходные параметры попадут значения, полученные в первой строки выборки.

 - Таймаут (сек) – Интервал в времени в секундах в течении которого ожидается ответ на запрос. Задается через редактор выражений и может быть указано явно как константа или задано числовой переменной;

Если таймаут установлен в 0, то выполнение запроса будет длится до тех пор, пока не будет получен ответ от СУБД.

Динамические параметры:

Рассмотрим использование динамических параметров на примере запроса во внешнюю базу данных. Рассмотрим простейший SQL запрос во внешнюю базу данных, которая определена в «Infinity Call-центр X» как "Client_DB_MSSQL", выбирающий строку из таблицы tbClients запросом:

SELECT [id],[cName],[cManager],[cPhone],[cManagerPhone],[cManagerMobile],[cCategory] 

FROM [Client_DB].[dbo].[tbClients] where [cPhone] = :phone

В запрос возвращает 7 параметров [id],[cName],[cManager],[cPhone],[cManagerPhone],[cManagerMobile],[cCategory] из таблицы для которых поле [cPhone] совпадает с параметром запроса :phone.

При проверке запроса в конструкторе в компоненте "SQL запрос" автоматически появляются входные и выходные параметры запроса

 3.png

На рисунке видим один входной (желтая стрелка) и семь выходных (зеленая стрелка) параметров. Каждый входной параметр можно задать в виде константы, функции или переменной через редактор выражений. А для каждого выходного параметра задается переменная, которая примет значение параметра после успешного выполнения запроса. Назначение переменных выходным параметрам осуществляется через редактор выражений.

 Из компонента ведут три перехода:

- ОК - переход в случае успешного выполнения запроса;

- Ошибка – если в процессе выполнения запроса произошла ошибка;

- Таймаут – если SQL запрос не был выполнен за указанное время.

Нашли ошибку?
Выделите текст, нажмите Ctrl + Enter

Сообщение об ошибке

Адрес страницы *
Ошибочный текст *
Комментарий *
Защита от автоматического заполнения

Введите символы с картинки*

Дополнить статью

Адрес *
Ваше ФИО
Ваш Email
Текст дополнения *

Попробовать InfinitySmart бесплатно

Зарегистрируйтесь, чтобы получить доступ
к бесплатной версии на 14 дней

Заказ презентации

После отправки запроса наш менеджер свяжется с вами для демонстрации системы, рассчитает ее стоимость, ответит на вопросы