-
Oracle - ObecjtDB/Oracle 2019. 1. 9. 09:52반응형
Oracle Obecjt 타입은 객체지향에서 사용되는 클래스 개념과 같다.
구조체의 특성을 그대로 물려받고 함수까지 사용할 수 있다.
- Object 생성
단순한 데이터 타입 뿐만 아니라 멤버함수까지 선언할 수 있다.
함수를 선언하긴 했는데, 이를 실제로 수행하는 로직을 구현해야 한다.
CREATE OR REPLACE TYPE BODY 구문을 통해 생성할 수 있다.
- ( 패키지의 BOD와 같은 개념이라고 이해할 수 있다. )
- Function 구현부
- dept_typ를 사용하는 테이블을 생성한다.
* 오라클에서는 Object 타입 선언시 생성자를 굳이 명시하지 않더라도 타입 객체가 생성되면 오라클 내부에 생성자가 저장딘다.
그리고 생성자 함수의 명칭은 다른 객체지향 언어들에서처럼 클래스 이름, 즉 OBJECT 타입 이름과 동일하다.
6개의 데이터가 정상적으로 복사 되었다.
DEPT_TYP가 클래스 형태이므로 DEPT_INFO.DNAME 형태로 접근한다면 데이터를 구체적으로 볼 수 있다.
Object 타입으로 선언된 컬럼의 데이터를 보기 위해서는 '테이블 별칭.컬럼명.타입항목명' 형태를 사용해야 하고,
* 반드시 테이블 별칭을 사용해야 한다. 그렇지 않으면 오류가 발생한다.
멤버함수나 프로시저 역시 테이블 별칭을 이용해서 사용한다.,
반응형'DB > Oracle' 카테고리의 다른 글
ORA-01476 - 제수가 0 입니다 (0) 2020.02.26 ORA-01481: 숫자 형식 모델이 부적합합니다 (0) 2019.11.04 Oracle - Materialized View (0) 2019.01.08 Oracle - DBMS_JOB 패키지 + DBMS_SCHEDULER (0) 2019.01.08 oracle - 현재 유저의 권한 보기 (0) 2019.01.08 댓글