[DB] CRUD, Package, Trigger, 백업, 복구

CRUD

Create - create, insert

Read - select

Update - update, alter

Delete - delete, drop, truncate

 

* Package

- 비슷한 성격의 함수, 프로시져를 편하게 관리하기 위하여 생성

- Package Header와 Package Body로 구성된다. Header는 패키지에 들어갈 함수, 프로시져의 목록을 정의하고, Body는 선언된 함수와 프로시져의 코드를 정의한다.

- 생성된 Package는 user_procedures에서 확인할 수 있다.

 

Header

create or replace package 패키지명 as

function 함수명(매개변수,,,) return 데이터형;

procedure 프로시져명(매개변수,,,);

...

end 패키지명;

/

Body

create or replace packager body 패키 as

function 함수명(매개변수,,,) return 데이터

is

bdgin

end 함수명;

procedure 프로시저명(매개변수,,,)

is bdgin

end 프로시져명;

end 패키지명;

/

 

* Trigger

- 연관된 작업을 수행할 때

- DML(insert, update, delete) 대상 쿼리

- 특정 테이블에 설정된 작업을 감시하여 해당 작업이 발생하면 연속적으로 정해진 다른 작업을 수행하는 일은 한다.

- user_trigger테이블에서 tirgger를 확인 할 수 있다.

- 감시하는 작업의 비교

추가 : inserting

if insertin

변경 : updating

삭제 : deleting

- 커잇의 경우 안에서는 commit, rollback이 되지 앟는다.

 

* 백업

- 데이터를 파일로 저장

dos창

 exp -help

-테이블만 백업

exp userid id/pw tables=백업할 테이블명,,, file=백업할 파일명 (tables 대신 full=y하면 모든 객체를 백업한다.)

 

* 복구

- 같은 이름의 객체가 있다면 복구 되지 않는다

imp.exe

테이블만 복수 - imp userid id/pw  tables=복구할 테이블명,,,, file=백업파일명 (tables 대신 full=y하면 모든 객체를 복구한다.)

 

숙제1

TEST_PACK이라는 패키지를 생성한다. 부서번호를 입력받아서 해당 부서 사원의 사원번호, 사원명, 연봉, 입사일, 직무를 출력한다. >> DBMS 이용

사원수를 OUT_PARAMETER 할당하는 프로시저를 생성한다.

 

>> 헤더, 바디 만들기