일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- jdbc환경설정
- 정처기
- github
- jdbc설정
- 입력메소드
- mvc
- 회원탈퇴
- jsp기본
- live server 환경설정
- 관리자회원조회
- 국민취업지원제도
- 인코딩
- emmet환경설정
- forward
- 로그아웃
- 비밀번호변경
- 내배카
- 별찍기
- 내일배움카드
- 배열
- 페이징
- 비밀번호암호화
- redirect
- 권한변경
- 페이지 재사용
- 국취제
- 회원정보수정
- 검색기능
- Git
- 국비학원
- Today
- Total
기록
*44일차 실습 본문
## @실습문제
1. EX_EMPLOYEE테이블의 퇴사자관리를 별도의 테이블 TBL_EMP_QUIT에서 하려고 한다.
다음과 같이 TBL_EMP_JOIN, TBL_EMP_QUIT테이블을 생성하고, TBL_EMP_JOIN에서 DELETE시 자동으로
퇴사자 데이터가 TBL_EMP_QUIT에 INSERT되도록 트리거를 생성하라.
-TBL_EMP_JOIN 테이블 생성 : EX_EMPLOYEE테이블에서 QUIT_DATE, QUIT_YN 컬럼제외하고 복사
CREATE TABLE TBL_EMP_JOIN
AS
SELECT EMP_ID, EMP_NAME, EMP_NO, EMAIL, PHONE, DEPT_CODE, JOB_CODE, SAL_LEVEL, SALARY, BONUS, MANAGER_ID, HIRE_DATE
FROM EX_EMPLOYEE
WHERE QUIT_YN = 'N';
SELECT * FROM TBL_EMP_JOIN;
-TBL_EMP_QUIT : EX_EMPLOYEE테이블에서 QUIT_YN 컬럼제외하고 복사
CREATE TABLE TBL_EMP_QUIT
AS
SELECT EMP_ID, EMP_NAME, EMP_NO, EMAIL, PHONE, DEPT_CODE, JOB_CODE, SAL_LEVEL, SALARY, BONUS, MANAGER_ID, HIRE_DATE, QUIT_DATE
FROM EX_EMPLOYEE
WHERE QUIT_YN = 'Y';
SELECT * FROM TBL_EMP_QUIT;
CREATE OR REPLACE TRIGGER TRIG_EMP_QUIT
AFTER
DELETE ON TBL_EMP_JOIN
FOR EACH ROW
BEGIN
INSERT INTO TBL_EMP_QUIT (EMP_ID, EMP_NAME, EMP_NO, EMAIL, PHONE, DEPT_CODE, JOB_CODE, SAL_LEVEL, SALARY, BONUS, MANAGER_ID, HIRE_DATE, QUIT_DATE)
VALUES (:OLD.EMP_ID, :OLD.EMP_NAME, :OLD.EMP_NO, :OLD.EMAIL, :OLD.PHONE, :OLD.DEPT_CODE, :OLD.JOB_CODE, :OLD.SAL_LEVEL, :OLD.SALARY, :OLD.BONUS, :OLD.MANAGER_ID, :OLD.HIRE_DATE, SYSDATE);
DBMS_OUTPUT.PUT_LINE(:OLD.EMP_ID||'사원이 퇴사자테이블로 이동했음');
END;
/