저장 기능 생성
/* 문법 */ CREATE [OR REPLACE] FUNCTION function_name(parameters) RETURN type IS | AS statement /* 파라미터 */ function_name -- 저장 기능 이름 parameters -- 파라미터 type -- 출력값의 형태 statement -- 실행 문장 | cs |
저장 기능은 프로시저와 같은 기능을 가지고 있으나, 출력값이 있는 것이 특징이다.
◐저장 기능의 정의
/* 사용 예 */ CREATE FUNCTION func (aa IN NUMBER) RETURN VARCHAR2 IS return NUMBER(4); BEGIN SELECT MAX(a) INTO result FROM bar WHERE a=aa IF result IS NOT NULL THEN RETURN 'Found'; ELSE RETURN 'Not Found'; END IF; END; | cs |
융통성있게 처리할 수 있다.
◐저장 기능의 호출
/* 사용 예 */ SELECT * FROM foo WHERE func(a) = 'Found' | cs |
◐3단계 스키마
1. 외부 스키마 (External schema)
- 각 사용자의 입장에서 본 데이터베이스 구조
- 사용자마다 서로 다른 데이터베이스 스키마를 가짐
- 개념 스키마에 대한 서브 스키마(subschema)
2. 개념 스키마(Conceptual schema)
- 조직 전체의 입장에서 본 데이터베이스 구조
- 한 개의 스키마만 존재하며, 서로 다른 사용자가 공유
- 데이터 객체(개체, 관계), 제약 조건에 대한 명세를 유지
3. 내부 스키마(Internal schema)
- 저장 장치의 입장에서 본 데이터베이스 구조
- 각 데이터 객체의 저장 구조를 표현함
- 내부 레코드의 형식
- 인덱스의 유무
- 저장 데이터 항목의 표현 방법
'커맨드 명령' 카테고리의 다른 글
2.3.14 CREATE TRIGGER (0) | 2018.11.18 |
---|---|
2.3.13 DROP FUNCTION (0) | 2018.11.13 |
2.3.11 DROP PROCEDURE (0) | 2018.11.12 |
2.3.10 CREATE PROCEDURE [Oracle] (0) | 2018.11.12 |
2.3.9 CREATE PROCEDURE [SQL Server] (0) | 2018.11.12 |