Перейти к основному содержимому

РезультатВызоваПроцедурыSql

Стд::БазаДанных::Sql::РезультатВызоваПроцедурыSql

Результат выполнения запроса, вызывающего процедуру.

Сравнение ссылочное

Иерархия типа

Базовые типы: Закрываемое, Объект


Примеры

Пример вызова хранимой процедуры в MS SQL. В примере вызывается хранимая процедура с сигнатурой dbo.insert_or_update_doc(@id uniqueidentifier, @content varchar(50), @res bit OUT). Процедура вставляет новую запись в таблицу, если в ней нет записи с ключом, равным параметру @id. Если запись есть, то происходит обновление поля значением параметра @content. В параметре @res возвращается значение Истина, если запись обновлена.

метод СоздатьИлиОбновить(Соединение: СоединениеSql, Ид: Строка, Содержание: Строка): Булево
пер Вызов = Соединение.СоздатьЗапросВызовПроцедуры("EXEC dbo.insert_or_update_doc &Ид, &Содержание, &Обновлено;")
Вызов.УстановитьЗначениеПараметра("Ид", Ид)
Вызов.УстановитьЗначениеПараметра("Содержание", Содержание)
Вызов.УстановитьТипВыходногоПараметра("Обновлено", ТипДанныхSql.Boolean)
исп Рез = Вызов.Выполнить()
возврат Рез.Получить("Обновлено") как Булево)
;

В примере вызывается анонимный блок Oracle, из которого в свою очередь вызывается функция с сигнатурой esb.echo(input INT, output OUT INT, input_output IN OUT INT) RETURN INT.

структура ЗаписьВызова
пер Результат = -1
пер Входной = -1
пер Выходной = -1
пер ВходнойВыходной = -1
;

метод ВызовБлока(Соединение: СоединениеSql): ЗаписьВызова
пер Запрос =
"BEGIN
&Результат := esb.echo(&Входной, &Выходной, &ВходнойВыходной);
END;"
пер Вызов = Соединение.СоздатьЗапросВызовПроцедуры(Запрос)
Вызов.УстановитьТипВыходногоПараметра("Результат", ТипДанныхSql.Integer)
Вызов.УстановитьЗначениеПараметра("Входной", 2)
Вызов.УстановитьТипВыходногоПараметра("Выходной", ТипДанныхSql.Integer)
Вызов.УстановитьЗначениеВыходногоПараметра("ВходнойВыходной", 100, ТипДанныхSql.Integer)

исп Рез = Вызов.Выполнить()

возврат новый ЗаписьВызова(Рез.Результат как Число,
Рез.Получить("Входной") как Число,
Рез["Выходной"] как Число,
Рез.ВходнойВыходной как Число)
;

Динамические свойства

Свойствами становятся значения параметров после выполнения запроса.


Методы

Закрыть

Закрыть()
Закрывает результат выполнения запроса и освобождает связанные с ним ресурсы.


КакСоответствие

КакСоответствие(): Соответствие<Строка, Объект>
Возвращает соответствие, в котором ключ - имя параметра, а значение - значение параметра.


Получить

Получить(Имя: Строка): Объект
Возвращает значение параметра запроса c указанным именем. Если нет параметра с указанным именем, выбрасывается исключение ИсключениеНедопустимыйАргумент. Для входных параметров возвращается заданное при вызове значение. Для выходных параметров - установленное процедурой.


Список унаследованных методов

Объект

ВСтроку, ПолучитьТип, Представление