Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / IBExpert |
![]() ![]() |
ABog Member Откуда: Сообщений: 49 |
Добрый день, Александр. Всплыла трабла с CTE в процедуре при попытке сменить форму присваивания результата переменной. Синтетический пример ниже. (Версия IBE:2019.8.30.1; Firebird 3.0.5.33074) В таком виде отрабатывает без вопросов: create or alter procedure SOME$PROC$Ok as declare variable I integer; begin with recursive aTree as (select 1 as aLevel from rdb$database union all select T.aLevel + 1 as aLevel from aTree t) select first 1 * from aTree into :I; end а вот в таком: create or alter procedure SOME$PROC$Error as declare variable I integer; begin I = (with recursive aTree as (select 1 as aLevel from rdb$database union all select T.aLevel + 1 as aLevel from aTree t) select first 1 * from aTree); end пытается грантовать процедуре права на таблицу aTree с закономерным результатом: This operation is not defined for system tables. unsuccessful metadata update. GRANT failed. Table ATREE does not exist. |
17 сен 19, 13:01 [21972467] Ответить | Цитировать Сообщить модератору |
IBExpert Member Откуда: От верблюда Сообщений: 3378 |
Исправил. |
17 сен 19, 18:06 [21972793] Ответить | Цитировать Сообщить модератору |
ABog Member Откуда: Сообщений: 49 |
IBExpert, Спасибо, в 2019.9.17.1 работает |
20 сен 19, 02:56 [21974846] Ответить | Цитировать Сообщить модератору |
Все форумы / IBExpert | ![]() |