Блочная процедура PL / SQL с Oracle - PullRequest
7 голосов
/ 27 июня 2009

У меня есть процедура, и я хотел бы, чтобы только один пользователь мог выполнить эту процедуру одновременно.

Ответы [ 2 ]

12 голосов
/ 28 июня 2009

Это просто не в моей голове: рассмотрите возможность использования именованной блокировки через dbms_lock. http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_lock.htm#CHDICHDC

Сразу после того, как оператор begin получает блокировку, выполните работу, затем отпустите ее. выход (Помните об ошибках / исключениях!).

KT

0 голосов
/ 28 июня 2009

Простым решением может быть использование блокировки на уровне таблицы с помощью FOR UPDATE.

...