database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 39401 게시물 읽기
No. 39401
트리거 테이블 복제후 원본 삭제 방법
작성자
김석훈(combort)
작성일
2012-04-14 08:43
조회수
3,174

 

아래와 같이 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;

이 글에 대한 댓글이 총 1건 있습니다.

<자답>
before상태로 두고 .. 상태값을 업데이트가 가능하군요

★ 업데이트 구문을 쓰면 안되고 ★
:NEW.TSTAT := '1';

와 같이 사용하면 되네요

김석훈(combort)님이 2012-04-15 11:34에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39405커밋할때 블락에 기록되는 SCN
슬라임
2012-04-17
3312
39404v$sql 컬럼중 module 컬럼에 대한 문의사항입니다.
좌성훈
2012-04-16
3675
39403. [1]
다른남자
2012-04-16
3400
39401트리거 테이블 복제후 원본 삭제 방법 [1]
김석훈
2012-04-14
3174
39400오라클통계자료뽑기 [2]
구름이
2012-04-13
3415
39398고수님들께 질문드리고자 합니다... 소계 관련된 질문인데요.. [4]
박정우
2012-04-12
4386
39396ms-sql row 복재 connect by level < ? 기능 여부
nightbobo
2012-04-12
3269
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다