На странице «Процедура/Функция» выбирается база данных, драйвер, указывается тип объекта и скрипт.

Задайте параметры:
Выберите базу данных в раскрывающемся списке объектов репозитория. При смене базы данных автоматически выставляется драйвер, указанный в настройках выбранной базы данных.
Для быстрого выбора объекта в поле для поиска введите его название/идентификатор/ключ, в зависимости от настроек отображения. Поиск будет выполняться автоматически по мере ввода текста. Список будет содержать объекты, наименования/идентификаторы/ключи которых содержат вводимый текст.
Для настройки отображения объектов репозитория в списке нажмите
кнопку
«Отображение
объекта» и выберите в раскрывающемся меню вариант отображения:
Наименование. Объекты отображаются под своими наименованиями. Вариант по умолчанию;
Идентификатор. Объекты отображаются под своими идентификаторами;
Ключ. Объекты отображаются под своими ключами.
Выбрать можно несколько вариантов. Идентификатор и ключ будут указаны в скобках.
Для сброса отметки выбранных объектов нажмите кнопку
«Очистить».
Укажите имя физического объекта (процедуры или функции), который будет создан на сервере СУБД и будет соответствовать объекту, созданному в репозитории. По умолчанию оно будет совпадать с идентификатором.
Выберите тип создаваемого объекта в раскрывающемся списке: процедура или функция.
Выберите тип драйвера в раскрывающемся списке. Драйвер, используемый по умолчанию в выбранной базе данных, выделяется жирным шрифтом. При необходимости можно выбрать другой драйвер и указать для него текст SQL-запроса. Актуально, если репозиторий будет использоваться на серверах с различными СУБД и настройки базы данных в репозитории будут изменены.
Драйвер ClickHouse доступен только при выборе типа объекта «Функция».
Для скрытия/отображения списка драйверов используйте кнопку
«Скрыть список
драйверов»/«Отобразить список
драйверов»;
Примечание. Создание процедур/функций не доступно в СУБД SQLite ввиду отсутствия такого типа объектов в этой СУБД.
Введите часть заголовка, содержащую входные и выходные параметры, если они необходимы, и тело процедуры (функции). Особенности работы с полем:
текст скрипта должен быть написан на языке SQL, синтаксис которого зависит от выбранной СУБД;
часть заголовка, содержащая код инициализации и физическое имя, генерируется автоматически. Указывать их в скрипте не нужно;
для функции заранее создайте параметр с назначением «Результат функции»;
описание параметров с одинаковым типом (входной и выходной) должно быть в том порядке, в котором они созданы на странице «Параметры объекта».
Примечание. Если выбран драйвер PostgreSQL, первая строка скрипта должна содержать список параметров, и этот список должен быть в одну строку.

Загрузить из
БД/Загрузить из базы
Кнопка предназначена для обновления текста процедуры/функции из базы. При нажатии на данную кнопку будет выдано подтверждение на производимое действие. При выборе положительного ответа текст процедуры/функции будет обновлен из базы.
Кнопка позволяет установить заданный текст скрипта для всех СУБД. При нажатии на данную кнопку будет выдано подтверждение на производимое действие. Запрос на подтверждение действия выдается только в том случае, если хотя бы для одного драйвера, отличного от текущего, текст запроса непустой.

Пример
создания функции на СУБД Oracle
В навигаторе объектов создайте объект с типом «Процедура».
На странице «Базовые свойства» мастера процедуры введите наименование и идентификатор создаваемого объекта.
На странице «Параметры объекта» мастера процедуры добавьте 3 параметра:
| Наименование | Идентификатор | Тип данных | Установить флажок |
| Входной | INPARAM1 | Целый | Входной |
| Результат функции | REZULT | Строковый | Результат функции |
| Входной2 | IINPARAM2 | Целый | Входной |
На странице «Процедура/функция» мастера процедуры выберите базу данных, драйвер, тип объекта, введите физическое имя.
В поле «Скрипт» вставьте следующий код:
(p1 in int, p2 in int)
return int
as
l_number int;
begin
l_number := p1+p2;
return l_number;
exception
when others then
return 0;
end;
Примечание. При перечислении входных/выходных параметрах будут использованы параметры функции в порядке со страницы «Параметры объекта». Следовательно, входной параметр с идентификатором INPARAM1 будет передан в переменную p1 функции, а параметр с идентификатором INPARAM2 будет передан в переменную p2.
Нажмите кнопку «Готово». В репозитории и в СУБД будет создан физический объект.

Пример
создания процедуры на СУБД Oracle
В навигаторе объектов создайте объект с типом «Процедура».
На странице «Базовые свойства» мастера процедуры введите наименование и идентификатор создаваемого объекта.
На странице «Параметры объекта» мастера процедуры добавьте 3 параметра:
| Наименование | Идентификатор | Тип данных | Установить флажок |
| Входной | PIN | Целый | Входной |
| Входной2 | PIN2 | Целый | Входной |
| Входной3-Выходной | PINOUT | Целый | Входной, Выходной |
В поле «Скрипт» вставьте следующий код:
(PIn in number, PIN2 in varchar2, PINOUT in out varchar2)
is
begin
insert into EXECPR (field, field1, field2) values (PIN,PIN2, PINOUT);
end;
где:
PIN, PIN2, PINOUT. Идентификаторы параметров процедуры;
EXECPR. Идентификатор таблицы, в которую будут добавлены значения;
field, field1, field2. Поля таблицы, в которые будут размещены значения параметров PIN, PIN2, PINOUT соответственно.
Нажмите кнопку «Готово». В репозитории и в СУБД будет создан физический объект.
Для получения подробной информации обратитесь к разделу «Пример создания процедуры».
См. также: