아래와 같이 test1테이블을 test2로 복제시켜서 test1값을 삭제하고 싶은데요 ~
행처리를 해서 그런지 업데이트나 삭제를 어떻게 해야할지 잘 모르겠습니다.
FOR EACH ROW 를 빼서 해당 번호를 지정해서 지우면 잘 지워지는것 같기도 하더라구요
update test1 set T_STAT='1' where T_NUM='10000'
### 원본테이블
CREATE TABLE "test1"
(
"T_NUM" NUMBER(10,0) NOT NULL ENABLE,
"T_MSG" VARCHAR2(2000 BYTE),
"T_INDATE" DATE NOT NULL ENABLE,
"T_STAT" NUMBER(2,0) DEFAULT 0 NOT NULL ENABLE
)
### 복사테이블
CREATE TABLE "test2"
(
"T_NUM" NUMBER(10,0) NOT NULL ENABLE,
"T_MSG" VARCHAR2(2000 BYTE),
"T_INDATE" DATE NOT NULL ENABLE,
"T_STAT" NUMBER(2,0) DEFAULT 0 NOT NULL ENABLE
)
#### 트리거
CREATE OR REPLACE TRIGGER TRIGGER1
BEFORE INSERT ON test1
FOR EACH ROW
BEGIN
-- test1 -> test2 복제
-- test1 삭제처리
update test1 set T_STAT='1' where T_NUM=:NEW.T_NUM
delete from test1 where T_STAT='1'
END; |