Я использую виртуальный столбец (оракул 11g) с детерминированной пользовательской функцией, которая берет первичный ключ строки как параметр и возвращает простое скалярное значение. виртуальные столбцы обновляются без каких-либо проблем, но когда я обновляю таблицу, она выдает ошибку: - ora-00054 ресурс занят и приобретается с указанным значением nowait или таймаутом, истекшим в оракуле. моя таблица структуры и функции, являются следующими: -Виртуальная колонка с использованием детерминированной пользовательской функции
-----------------------------------------------------------------------
id employee_name employee_dept employee_leaves (vir column)
-----------------------------------------------------------------------
2 patrick mgmt getEmpLeaves(id)
3 jack sales "
-----------------------------------------------------------------------
create or replace function getEmpLeaves(empId number)
return number
DETERMINISTIC
is
emp_leaves number;
begin
select leaves into emp_leaves from tbl_emp_leaves
where tbl_emp_leaves.id = empId;
return emp_leaves;
end ;
-------------------------------------------------------------
Как преодолеть эту ошибку?
Можете ли вы показать инструкции создания таблицы для обеих таблиц и выставляемые вами инструкции для получения этого исключения? Может быть, полезно сказать, какую версию (выпуск 1 или релиз 2) и уровень патча вы находитесь. Я не могу сразу воспроизвести в 11.2.0.4.7, но я делаю некоторые предположения. Также есть индекс? –