Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Не гарантируется, что функция не обновит БД
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть у меня parallel_enable pipelined функция func1 в пакете package1 которая возвращает с помощью select * from table(package1.func1('306,307')); рекордсет на основании переданных ей в строке айдишников. и нужно мне эту функцию слегка изменить и вставить в нее вызов процедуры "proc2" из mssql по линку (процедура эта просто читает у себя данные и возвращает в out параметрах). я вставил этот вызов: resultt:=proc2@link_gw4mssql(in_params,out_params); а он мне при вызове это: ORA-06571: Не гарантируется, что функция proc2 не обновит БД. пробовал добавить в объявление пакета: PRAGMA RESTRICT_REFERENCES (func1, WNDS); после чего не компилится body с сообщением Error(1587,1): PLS-00452: Subprogram 'func1' violates its associated pragma Видел что можно еще что то вроде этого: PRAGMA RESTRICT_REFERENCES (get_cards, WNDS, TRUST); после этого все компилируется, но при вызове снова ORA-06571 как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2020, 18:38 |
|
||
|
Не гарантируется, что функция не обновит БД
|
|||
|---|---|---|---|
|
#18+
Попробуйте звать proc2@link_gw4mssql в автономной транзакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2020, 19:27 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39987247&tid=1880999]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
18ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 295ms |
| total: | 483ms |

| 0 / 0 |
