powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос по триггеру
6 сообщений из 6, страница 1 из 1
Вопрос по триггеру
    #39292453
Toshkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2 10.5
Вот такой триггер на тестовой бд работает без проблем:

CREATE OR REPLACE TRIGGER T1_AIU
AFTER INSERT OR UPDATE OF COL1
ON T1
REFERENCING
OLD AS OLD
NEW AS NEW
FOR EACH ROW
WHEN (NEW.COL1 IS NOT NULL AND
NEW.COL1 <> OLD.COL1)
BEGIN
UPDATE T2
SET COL2 = NEW.COL1
WHERE COL3 = NEW.COL4;
END;

На рабочей, которая практически идентична, при компиляции выдает ошибку (NEW.COL1 нельзя так использовать).
А такой вариант работает:

CREATE OR REPLACE TRIGGER T1_AIU
AFTER INSERT OR UPDATE OF COL1
ON T1
REFERENCING
OLD AS OLD
NEW AS NEW
FOR EACH ROW
WHEN (NEW.COL1 IS NOT NULL AND
NEW.COL1 <> OLD.COL1)
BEGIN
DECLARE afd TIMESTAMP;
SET afd = NEW.COL1;
UPDATE T2
SET COL2 = afd
WHERE COL3 = NEW.COL4;
END;

В чем может быть причина?
...
Рейтинг: 0 / 0
Вопрос по триггеру
    #39292485
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А какой тип у COL1 и COL2?
...
Рейтинг: 0 / 0
Вопрос по триггеру
    #39292526
Toshkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guzya,

timestamp
...
Рейтинг: 0 / 0
Вопрос по триггеру
    #39292679
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Toshkin,

Приведите, пожалуйста

1. DDL обеих таблиц из обеих баз:
Код: plaintext
db2look -d <dbname> -t t1 t2 -e

2. Код и полный текст ошибки.


PS Настоятельная рекомендация для OLTP транзакций по возможности использовать INLINED (BEGIN ATOMIC ... END), а не COMPILED (BEGIN .. END) SQL. Это серьёзно влияет на производительность.
...
Рейтинг: 0 / 0
Вопрос по триггеру
    #39292686
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А версии DB2?
...
Рейтинг: 0 / 0
Вопрос по триггеру
    #39293105
Toshkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPb,

ERROR [42703] [IBM][DB2/NT64] SQL0206N "NEW.ACTION_FINISH_DATE" is not valid in the context where it is used.

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


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