powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Падает после первого COMMIT, подскАжите?
6 сообщений из 6, страница 1 из 1
Падает после первого COMMIT, подскАжите?
    #38726317
kT_________
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
BEGIN
  DECLARE CUR_TIME TIMESTAMP;
  DECLARE CUR_TIME_MIN TIMESTAMP;
  DECLARE COUNTER BIGINT;

  SET COUNTER = 0;
  SET CUR_TIME = CURRENT TIMESTAMP;
  SET CUR_TIME_MIN = CUR_TIME - 1 MICROSECOND;
  FOR v3 AS
  c3 CURSOR FOR
  SELECT DISTINCT QW.CONT_EQUIV_ID oid, QW.ADMIN_CLIENT_ID cid, QW.CONT_ID cnt_id
  FROM SHEME.CONTEQUIV QW
  WHERE right(QW.ADMIN_CLIENT_ID, 8) = '_DELETED'
  DO
      UPDATE SHEME.CONTEQUIV
      SET ADMIN_CLIENT_ID = substr(ADMIN_CLIENT_ID, 1, instr(ADMIN_CLIENT_ID, '_DELETED')-1), LAST_UPDATE_DT = CURRENT TIMESTAMP
      WHERE CONT_EQUIV_ID = v3.oid;

      UPDATE SCHEME.H_CONTEQUIV
      SET H_END_DT = CUR_TIME_MIN
      WHERE CONT_EQUIV_ID = v3.oid AND H_END_DT IS NULL;
      INSERT INTO SHEME.H_CONTEQUIV (H_CONT_EQUIV_ID,
                                   H_ACTION_CODE,
                                   H_CREATED_BY,
                                   H_CREATE_DT,
                                   H_END_DT,
                                   CONT_EQUIV_ID,
                                   CONT_ID,
                                   ADMIN_SYS_TP_CD,
                                   ADMIN_CLIENT_ID,
                                   DESCRIPTION,
                                   LAST_UPDATE_DT,
                                   LAST_UPDATE_USER,
                                   LAST_UPDATE_TX_ID,
                                   PART_ID)
        SELECT CNT.CONT_EQUIV_ID, 'U', '_PATCH', CUR_TIME, NULL, CONT_EQUIV_ID,
          CONT_ID,
          ADMIN_SYS_TP_CD,
          ADMIN_CLIENT_ID,
          DESCRIPTION,
          LAST_UPDATE_DT,
          LAST_UPDATE_USER,
          LAST_UPDATE_TX_ID,
          PART_ID
        FROM SHEME.CONTEQUIV CNT
        WHERE CONT_EQUIV_ID = v3.oid;
    SET COUNTER = COUNTER + 1;


    IF (COUNTER = 20000) THEN
      SET COUNTER = 0;
      COMMIT;
    END IF;


  END FOR;
END;




Колллеги, подскажите, почему падает коммит?
Смотрел другие скрипты, с них вобщем-то и списал этот.
Всё один в один, а он после первого коммита падает, но 20000 апдейтит.
ЗАранее большое спасибо.
...
Рейтинг: 0 / 0
Падает после первого COMMIT, подскАжите?
    #38726327
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kT_________,

Это скрипт, не процедура?
А всё остальное - инсёртится и апдейтится, кроме COUNTER ?
...
Рейтинг: 0 / 0
Падает после первого COMMIT, подскАжите?
    #38726355
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kT_________,

потому что курсор не определё как WITH HOLD:
DECLARE CURSOR statement
...
Рейтинг: 0 / 0
Падает после первого COMMIT, подскАжите?
    #38726387
kT_________
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb,

можно в двух словах, какой профит??
так понимаю что курсор типо не уходит из области видимости??? и остаётся существовать типо.. да??


и спасибо огромное, оч помогло!!
...
Рейтинг: 0 / 0
Падает после первого COMMIT, подскАжите?
    #38726397
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kT_________,

Там же ж написано:
Код: plaintext
1.
WITHOUT HOLD
    Does not prevent the cursor from being closed as a consequence of a commit operation. This is the default.

По умолчанию по коммиту курсор автоматически закрывается.


Есть ещё пара замечаний, но они могут быть не к месту вне контекста конкретных данных.
...
Рейтинг: 0 / 0
Падает после первого COMMIT, подскАжите?
    #38726439
kT_________
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb,

спасибо большое.
про коммит и курсор буду знать.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Падает после первого COMMIT, подскАжите?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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