Db2: 동일한 행의 값이 설정된 타임스탬프를 저장하는 열을 만듭니다. (Db2: Create a Column that stores the timestamp a value in the same row is set)


문제 설명

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.

(by A. LewisCharles)

참조 문서

  1. Db2: Create a Column that stores the timestamp a value in the same row is set (CC BY‑SA 2.5/3.0/4.0)

#generated-columns #timestamp #Triggers #db2






관련 질문

Db2: 동일한 행의 값이 설정된 타임스탬프를 저장하는 열을 만듭니다. (Db2: Create a Column that stores the timestamp a value in the same row is set)

PostgreSQL의 열에 함수를 포함하는 방법 (how to embed a function to column in PostgreSQL)

생성된 열을 추가하면 MariaDB가 충돌함 (Adding Generated Columns Crashes MariaDB)







코멘트