Oracle 9i, pipelined

 
0
 
Oracle
ava
Dayana | 20.05.2004, 17:00
Приложение, написанное на Делфи, работает с Oracle 9i, и использует pipeline для возврата таблицы. Написана функция на PL/SQL, пока не буду приводить ее код, результатом которой является pipelined. Писала все это не я, и сама с тем, что такое pipeline, и как его едят знакома только по написанному коду, и по объяснением сотрудников. Так вот потом, запросом:

SELECT *
FROM TABLE( GetDoh( '12',
60,
TO_DATE( '10/10/2001', 'dd/mm/yyyy' ),
TO_DATE( '10/10/2001', 'dd/mm/yyyy' ),
NULL,
'101409' ) )

где GetDoh и есть та функция, о которой писала выше, выбираем данные. Внутри самой функции есть обращение к нескольким таблицам базы.

В приложении исполняю этот запрос, получаю данные. А дальше, меняю некоторые данные в одной из таблиц, с которой работает функция GetDoh. Так вот, как только я меняю данные, т.е. делаю update, какой-либо записи в таблице. Данные меняются, но данная запись получается заблокирована (locked). Т.е. я, как пользователь могу делать в этой строке какие-либо изменения, а пользователь на другой станции не может, для него эта строка заблокирована. И освобождается она только тогда, когда я выхожу из приложения. Причем в приложении такая ситуация встречается только в этом месте, где используется технология pipeline, в любом другом таких проблем не возникает. Возможно баг в чем-то другом, и не связан с pipeline, а возможно и связан. Может после запроса select... надо какую команду послать для pipeline? Или что-то в функции дополнительно написать?

Заранее спасибо за ответ!
Comments (0)

Comments are not added

Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  Dayana
advanced
Submit