연습문제 sql은 모두 제가 직접 작성한 것이므로 오타, 오답이 존재할 수 있습니다.
궁금하신 점이 추가로 있을 시에는 문의하시면 최대한 답변드리겠습니다.
1. EMPEX 이름으로 아래의 테이블을 생성하여라.
[답]
create table EMPEX
(EMPNO number(4) CONSTRAINT empx_empno_pk primary key,
ENAME varchar2(20),
JOB varchar2(20));
2. EMPEX 테이블에 데이터가 입력될 때마다 화면에 "신입 사원이 입사했습니다."라는 메시지가 출력되게 트리거 EMPEX_TRIGGER_INS를 생성하여라.
[답]
dms_output.put_line의 결과를 화면에 나타나게 하기 위한 환경변수입니다.
set serveroutput on
create or replace trigger empex_trigger_ins
after insert on empex
begin
dbms_output.put_line('신입사원이 입사했습니다.');
end;
/
3. EMPEX 테이블에 데이터 (1, 홍길동, 판매)를 입력하고 트리거가 수행된 것을 확인하여라.
[답]
insert into empex
values(1, '홍길동', '판매');
4. EMPSAL 이름으로 아래의 테이블을 생성하여라.
[답]
create table empsal
(salno number(4) CONSTRAINT empsal_salno_pk primary key,
sal number(7, 2),
empno number(4) constraint empsal_empno_fk references empex(empno));
5. EMPEX 테이블에 새로운 데이터를 추가하면 EMPSAL 테이블에 자동적으로 데이터를 추가하는 트리거 EMPSAL_TRIGGER_INS를 생성하여라.(SALNO는 1부터 1씩 자동으로 증가하도록 시퀀스를 사용하고, SAL은 기본값 1000을 입력한다.)
[답]
create or replace trigger empsal_trigger_ins
after insert on empex
for each row
begin
insert into empsal
values(empsal_salno_seq.nextval, 1000, :new.empno);
end;
/
6. EMPEX 테이블에 데이터(111, 이순신, 군인)를 입력하여라.
[답]
insert into empex
values(111, '이순신', '군인');
7. 트리거 EMPSAL_TRIGGER_INS이 수행된 것을 확인하기 위해 EMPEX 테이블과 EMPSAL 테이블의 데이터를 조회하여라.
[답]
EMPEX 테이블의 데이터 조회
select *
from empex;
EMPSAL 테이블의 데이터 조회
select *
from empsal;
8. EMPEX 테이블에 데이터(222, 김민수, 학생)를 입력하여라.
[답]
insert into empex
values(222, '김민수', '학생');
9. 트리거 EMPSAL_TRIGGER_INS이 수행된 것을 확인하기 위해 EMPEX 테이블과 EMPSAL 테이블의 데이터를 조회하여라.
[답]
EMPEX 테이블의 데이터 조회
select *
from empex;
EMPSAL 테이블의 데이터 조회
select *
from empsal;
10. EMPEX 테이블의 데이터가 삭제될 때마다 EMPSAL 테이블에서도 해당하는 데이터가 함께 삭제되게 하는 트리거 EMPSAL_TRIGGER_DEL를 생성하여라.
[답]
수정요망
create or replace trigger empsal_trigger_ins
after delete on empex
for each row
begin
if deleting then
DELETE FROM EMPSAL WHERE EMPNO = (SELECT EMPNO
FROM EMPEX);
end if;
end;
/
11. EMPEX 테이블로부터 EMPNO = 111인 데이터를 삭제하여라.
[답]
delete from empex
where empno = 111;
12. 트리거 EMPSAL_TRIGGER_DEL이 수행된 것을 확인하기 위해 EMPEX 테이블과 EMPSAL 테이블의 데이터를 조회하여라.
[답]
EMPEX 테이블의 데이터 조회
select *
from empex;
EMPSAL 테이블의 데이터 조회
select *
from empsal;
13. EMPEX 테이블로부터 EMPNO = 222인 데이터를 삭제하여라.
[답]
delete from empex
where empno = 222;
14. 트리거 EMPSAL_TRIGGER_DEL이 수행된 것을 확인하기 위해 EMPEX 테이블과 EMPSAL 테이블의 데이터를 조회하여라.
[답]
EMPEX 테이블의 데이터 조회
select *
from empex;
EMPSAL 테이블의 데이터 조회
select *
from empsal;
궁금한 점이 있을 시 덧글 주시면 최대한 답글 드리겠습니다.
'연습 문제' 카테고리의 다른 글
[생능][개정7판]인공지능 시대의 컴퓨터 개론 02장 연습 문제 답안 (0) | 2023.01.07 |
---|---|
[생능][개정7판]인공지능 시대의 컴퓨터 개론 01장 연습 문제 답안 (2) | 2023.01.06 |
예제 따라가며 쉽게 배우는 오라클 연습 문제 p.334 (0) | 2023.01.05 |
예제 따라가며 쉽게 배우는 오라클 연습 문제 p.308 (0) | 2023.01.04 |
예제 따라가며 쉽게 배우는 오라클 연습 문제 p.298 (0) | 2023.01.04 |
댓글