문제 설명
Db2: 동일한 행의 값이 설정된 타임스탬프를 저장하는 열을 만듭니다. (Db2: Create a Column that stores the timestamp a value in the same row is set)
내 데이터베이스에 IS_SUBMITTED라는 부울 열이 있습니다. 이 열은 기본적으로 False로 설정되어 있습니다.
내가 하고 싶은 것은 데이터베이스에 Null로 설정된 TIME_SUBMITTED라는 다른 열을 갖는 것입니다. 기본적으로 IS_SUBMITTED가 True로 설정되면 TIME_SUBMITTED가 현재 타임스탬프로 업데이트됩니다.
구현이 가능한가요? 트리거 사용이 포함될 수 있다고 생각하지만 Db2를 처음 접하고 제대로 작동하지 않는 것 같습니다.
건배
참조 솔루션
방법 1:
A BEFORE UPDATE trigger is what you need...
The simple solution assumes that IS_SUBMITTED is only ever changed one time from FALSE to TRUE.
create or replace trigger MYTRIGGER
before update of IS_SUBMITTED on MYTABLE
referencing
new row as n
set n.time_submited = current_timestamp
;
If IS_SUBMITTED can be changed backed to false, you'd need to decide how to handle that. And use a compound BEGIN/END
statement in the trigger with the additional logic. I'll leave that as an exercise.
Lastly note, when asking Db2 questions on SO, it's a good idea to include your platform (LUW, z\OS, IBM i) and version.