Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Может кто знает аналог (NO) WAIT для DML операций? / 3 сообщений из 3, страница 1 из 1
06.02.2017, 18:53
    #39399562
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может кто знает аналог (NO) WAIT для DML операций?
Нужно делать что-то вроде этого:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
DECLARE
    PRAGMA EXCEPTION_INIT(ROW_LOCKED, -54);
    V_ROWID ROWID;
BEGIN
    SELECT ROWID INTO V_ROWID FROM T WHERE A = :A FOR UPDATE NOWAIT;
    UPDATE T SET B = :B WHERE ROWID = V_ROWID;
EXCEPTION
    WHEN ROW_LOCKED THEN
      -- Ну значит не судьба
      RETURN;
    WHEN NO_DATA_FOUND THEN
      FOO BAR;
END;

И хотелось бы вместо двух запросов (SELECT FOR UPDATE NOWAIT + UPDATE) делать только UPDATE.
Но нужно NOWAIT.

Что подскажете?
Спасибо
...
Рейтинг: 0 / 0
06.02.2017, 18:56
    #39399566
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может кто знает аналог (NO) WAIT для DML операций?
--Eugene--И хотелось быПерехочется.
...
Рейтинг: 0 / 0
07.02.2017, 10:41
    #39399839
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Может кто знает аналог (NO) WAIT для DML операций?
на уровне клиента (java) пользую эту фичу: Statement.setQueryTimeout(sec)

При достижении таймаута оракл кидает ORA-01013 user requested cancel of current operation

на уровне сервера - никак
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Может кто знает аналог (NO) WAIT для DML операций? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]