본문 바로가기

oracle6

인덱스 Index 인덱스란? 인덱스이 사전적 정의는 '색인' 이란 뜻이다. 데이터베이스는 테이블 내의 데이터를 찾을 수 있게 일부 데이터를 모아서 구성한 데이터구조 이다. 인덱스를 이용하면 테이블 내의 데이터를 빠르게 찾아낼 수 있다. 인덱스의 종류 인덱스에 하나에 컬럼만 사용한 '단일 인덱스'와 인덱스에 두개 이상의 컬럼을 사용한 '복합 인덱스'가 있다. 또 다른 분류 방법으로는 인덱스 구성 컬럼들 값에 중복을 허용하지 않는 '유니크 인덱스'와 인덱스 구성 컬럼들 값에 중복을 허용하는 '비유니크 인덱스'가 존재한다. 데이터를 찾는 방법 1.테이블 전체 읽기(Table Access Full Scan) - 인덱스가 없거나 인덱스보다 테이블 전체를 읽는 것이 더 효율적이라고 판단될 때 사용하는 방법이다. Table Acces.. 2023. 8. 19.
함수 Function (2) 타입 반환 함수 타입정의 CREATE OR REPLACE TYPE ename_type AS OBJECT ( first_name VARCHAR2(20), last_name VARCHAR2(20) ); #테이블 타입 정의 CREATE OR REPLACE TYPE ename_table AS TABLE OF ename_type; 테이블 반환 함수 (Pipelined Table Function) CREATE OR REPLACE FUNCTION emp_table(emp_id NUMBER) RETURN ename_table; PIPELINED IS ename ename_type; BEGIN FOR emp IN(SELECT first_name, last_name FROM employees WHERE employee_i.. 2023. 8. 15.
함수 Function (1) 함수 Function - 프로시저의 각 프로세스를 수행하기 위해 필요한 기능 - 일반적인 프로그래밍 언어에서 사용되는 함수와 같이 복잡한 프로그래밍 지원 함수 문법 CREATE OR REPLACE FUNCTION 함수명 ( 매개변수명 데이터 타입, 매개변수명 데이터 타입, .. ) RETURN 데이터 타입 IS | AS 변수 및 상수 선언 BEGIN 실행 문장 RETURN 반환값 EXCEPTION 문장 END; 프로시저와 함수 차이 프로시저 함수 특정 작업 수행 특정 계산 수행 리턴값이 없을수도 있음 리턴값이 반드시 존재 리턴값 여러개 가능 리턴값 1개 서버(DB)에서 기술 클라이언트에서 기술 수식내에서 사용 불가 수식 내에서 사용 가능 단독으로 문장 구성 가능 단독으로 문장 구성 불가 예시 to_yyy.. 2023. 8. 15.
커서 ( Cursor) 커서 ( Cursor ) 커서 뭐가 될래...? - 일반 프로그래밍 언어의 파일 처리 방법과 유사 - 행의 집합을 다룰 수 있는 편리한 기능 제공 - 테이블에서 여러 개의 행을 질의 후, 질의 결과인 행 집합을 한 행씩 처리 - 프로시저 내부에서 커서 사용 커서 처리 순서 1.커서 선언 2.커서 열기 3.커서 데이터 가져오기 FETCH 4.데이터처리 5.커서 닫기 3 ~ 4단계에서 LOOP문으로 가져올 행이 없을때까지 반복. CREATE OR REPLACE PROCEDURE cursor_salary AS sal NUMBER := 0; cnt NUMBER := 0; total NUMBER := 0; CURSOR emp_cursor IS SELECT salary FROM employees; BEGIN OPE.. 2023. 8. 15.