Я тестировал следующее поведение для специального регистра даты и времени (указано здесь )
Если оператор SQL, в котором используется специальный регистр даты и времени, находится в пользовательском определениифункция или хранимая процедура, которая находится в области действия триггера, Db2 использует временную метку для запускающего оператора SQL, чтобы определить значение специального регистра.Процедура (нативный sql), которая вставляет те же 10 строк в таблицу и столбец tamestamp, получает значение "current timestamp".Затем я создал триггер для какой-то другой таблицы (после триггера вставки).
Результат - 10 строк с увеличением отметки времени.Я ожидал, что отметка времени будет такой же, как в моей интерпретации хранимая процедура находилась в области действия триггера.
Можете ли вы помочь мне, что означает это утверждение?
create trigger date_check
after insert on test
for each row mode db2sql
call date_sp2()
create procedure date_sp2()
language sql
BEGIN
declare i smallint default 0;
my_loop: LOOP
insert into empty_char values('Y','Y','Y','Y',current date, current timestamp);
SET I = I + 1;
IF I = 10 THEN LEAVE my_loop;
END IF;
END LOOP my_loop;
END