powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры с DML
3 сообщений из 3, страница 1 из 1
Вызов хранимой процедуры с DML
    #39665348
G.Collector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, добрый день. Прошу помощи, ибо сам не Ораклоид.

Есть процедура, допустим test.

На вызов вида:

Код: plsql
1.
2.
3.
4.
select
   1 as attr1,
   test(1, 2, 3) as attr2
from dual



ругается тем, что внутри test происходят операции DML и падает с ошибкой.

Как можно получить подобный атрибутивный состав (attr1, attr2), чтобы это вызывалось из Java и можно было получить курсор / ResultSet?

Oracle 12

Спасибо.
...
Рейтинг: 0 / 0
Вызов хранимой процедуры с DML
    #39665369
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
G.Collectorчтобы это вызывалось из Java и можно было получить курсор / ResultSet?Сделай наследника от ResultSet, который возвращает один next(), значение 1 для getXXX(1) и результат вызова test(1, 2, 3) для getXXX(2).
...
Рейтинг: 0 / 0
Вызов хранимой процедуры с DML
    #39665390
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
G.CollectorНа вызов вида:

Код: plsql
1.
2.
3.
4.
select
   1 as attr1,
   test(1, 2, 3) as attr2
from dual


ругается тем, что внутри test происходят операции DML и падает с ошибкой.

В контексте select запрещены какие-либо изменения (см. pragma wnds, wnps).
Но если очень хочется, то можно (хотя я бы не советовал) - для этого test(1,2,3) должна выполняться в автономной транзакции.
Сразу обращаю внимание, что работающая в рамках автономной транзакции в контексте select функция должна быть очень тщательно спроектирована как на предмет межпроцессного взаимодействия (конкуренции с потенциально сотнями параллельных подобных select), так и реентерантности (функция в select-list может вызываться несколько чаще, чем можно себе представить без знания некоторых деталей, на основании одного только здравого смысла).
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вызов хранимой процедуры с DML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]