본문 바로가기

분류 전체보기29

함수 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.
프로시저 Procedure 정의 및 변수종류 (2) rowtype 사용 프로시저 CREATE OR REPLACE PROCEDURE rowtype_emp( emp_id IN EMPLOYEES.EMPLOYEE_ID%TYPE ) AS emp_row EMPLOYESS%ROWTYPE; BEGIN SELECT first_name, last_name, job_id INTO emp_row.first_name, emp_row.last_name, emp_row.job_id FROM employess WHERE employee_id = emp_id; DBMS_OUTPUT.PUT_LINE(emp_row.first_name || '|' || emp_row.last_name || '|' || emp_Row.job_id); END; record 사용 프로시저 CREATE OR RE.. 2023. 8. 14.