- TRIGGER 객체
- PL/SQL 구문을 사용하여 생성할 수 있는 객체
- 테이블 또는 뷰에 INSERT, UPDATE, DELETE 문에 의한 변경이 발생할 경우 자동으로 실행할 내용을 정의하여
실행하게 하는 객체
- 변경 전/후를 구분하여 자동으로 실행할 내용을 정의할 수 있다.
- FOR EACH ROW (행 트리거) : 각 행마다 인서트가 동작 (트리거 발생) 할 수 있도록 해준다.
- :NEW.COLUMN_NAME, :OLD.COLUMN_NAME 형식 필요
- INSERT, UPDATE 문에는 :NEW.COLUMN_NAME 이 쓰이고 DELETE,UPDATE 문에는 :OLD.COLUMN_NAME
- FUNCTION 객체
- PL/SQL 구문을 사용하여 생성할 수 있는 객체
- 프로시져와 유사하며, 일반 프로그래밍 언어의 함수와 같이 값을 리턴(반환) 한다.
- FUNCTION 은 PROCEDURE 와 다르게 SQL 구문 안에서 사용할 수 있다.
<종합 문제>
# 웹 사이트에 사용할 회원 관리용 테이블을 생성하고 다음의 요구사항에 적합한 SQL 문과 ORACLE 객체를 생성한다.
- 일반 사용자는 웹사이트 이용을 위해 회원 가입을 진행해야 한다.
- 회원 가입은 즉시 이루어 지지 않으며, 관리자의 승낙을 통해서만 이루어져야 한다.
- 회원 가입에 필요한 정보는 닉네임과 이메일만 있으면 된다.
(관리를 위해서 추가 정보가 필요하지만 사용자가 입력하는 정보는 닉네임과 이메일 뿐이다.)
- 회원 가입을 요청한 사용자는 관리자의 승낙 이후 전달되는 메일 메시지 안의 암호를 통해 로그인을 할 수 있다.
- 최초 로그인을 시도하는 회원은 필수적으로 암호를 변경해야 하며, 암호를 변경할 때는 회원이 사용할 암호만
있으면 된다.
테이블은 총 3개의 테이블을 생성하도록 한다.
- 회원 테이블 : 회원으로 가입된 사용자의 정보가 기록되는 테이블
- 회원 요청 테이블 : 회원 가입을 위해 가입 요청 정보가 기록되는 테이블
- 접속 이력 테이블 : 로그인 및 로그아웃한 회원의 접속 시간을 기록하기 위한 테이블
'국비' 카테고리의 다른 글
12.02 국비학원 42일차 (Mybatis) (0) | 2022.12.05 |
---|---|
12.01 국비학원 41일차 (회원가입 종합 문제 풀이) (0) | 2022.12.02 |
11.29 국비학원 39일차 (PL/SQL예제 풀이, PROCEDURE 객체, 프로시져 예제 풀이) (0) | 2022.11.30 |
11.28 국비학원 38일차 (PL/SQL-구조,조회,IF문,반복문, INSERT,UPDATE,예외처리) (0) | 2022.11.29 |
11.25 국비학원 37일차 (평가4) (0) | 2022.11.28 |