1건 이상의 데이터가 입력되었을때 다음문장 실행 0 1 2,517

by 손님 [PL/SQL] 트리거 [2010.02.22 18:12:45]



create table B as select * from A ;
create table C as select * from B ;

... 와 같은식으로 구성된 스크립트를 실행할 경우,
A테이블에 데이터가 없다면, B테이블이 create 되기는 하나 사실상 데이터는 0건이므로
이후 실행될 sql들을 실행하지 못하게 하고 싶습니다.

즉,

A table 에 데이터가 1건이상 insert 되었을 때 B table 에 데이터를 입력,
또는
1건 이상의 데이터를 가진 A table 이 생성(create)되었을 때 A를 참조하여 B 테이블을 생성


하는 식으로 짜고 싶은데, 트리거를 이용하면 될지... 조언 부탁드립니다.
by TeLl2 [2010.02.22 19:06:26]
SQL%ROWCOUNT 를 이용하셔서 스크립트를 만드시면 될듯 합니다.

declare
a varchar2(10);
begin
execute immediate 'create table a as select dummy from dual where 1= 1';

a := SQL%ROWCOUNT;

dbms_output.put_line(a);
end;
/
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입