본문 바로가기

oracle29

패키지 업무나 기능면에서 연관성이 높은 프로시저, 함수 등 여러 개의 PL/SQL 서브 프로그램을 하나의 논리그룹으로 묶어 통합관리에 사용하는 객체 모듈성, 정보 은닉, 성능 향상 등의 장점이 있다. (변수, 상수, 예외, 커서, PL/SQ 서브프로그램 선언) CREATE OR REPLACE PACKAGE 패키지 이름 IS | AS 서브프로그램을 포함한 다양한 객체 선언 END 패키지 이름; CREATE OR REPLACE PACKAGE pkg_example IS spec_no NUMBER := 10; FUNCTION func_after(sal NUMBER) RETURN NUMBER; PROCEDURE pro_emp(in_empno IN EMP.EMPNO%TYPE); PRCEDURE pro_dept(in_dep.. 2022. 11. 3.
저장 함수 프로시저와 차이점? SQL문에서 직접 실행가능 RETURN절과 RETURN문을 통해 반드시 하나의 값을 반환해야 함 생성 ) CREATE OR REPLACE FUNCTION func_aftertax( sal in number ) return number is tax number := 0.05; begin return (round(sal-(sal*tax))); end func_aftertax; / 실행 ) declare aftertax number; begin aftertax := func_aftertax(3000); dbms_output.out_line('after-tax incom : ' || aftertax); end; / - sql에서 사용 select func_aftertax(300.. 2022. 11. 3.
커서 커서? select문 또는 조작어 같은 sql문을 실행했을 때 해당 sql문을 처리하는 정보를 저장한 메모리 공간 사용자가 직접 커서를 선언하여 사용 declare cursor 커서이름 is sql문; -- 커서 선언(declaration) begin open 커서이름; -- 커서 열기(open) fetch 커서이름 into 변수 --커서로부터 읽어온 데이터 사용(fetch) close 커서이름; -- 커서 닫기(close) end; - set into set serveroutput on; declare v_dept_row dept%rowtype; begin select deptno, dname, loc into v_dept_row from dept where deptno = 40; dbms_output.. 2022. 11. 2.
1021_데이터 사전 ---------------------------------- 데이터 사전 --구조확인 DESC USER_TABLES; --조회만 가능 SELECT TABLE_NAME FROM USER_TABLES; --다른 유저 테이블 조회 SELECT OWNER,TABLE_NAME FROM ALL_TABLES; ---------------------------------- 2022. 10. 31.
1027_저장 프로시저 형식) create or replace procedure 프로시져명(매개변수) is or as 변수 정의 begin SQL 출력구문 조건문 , 반복문 end; / 예시) create or replace procedure emp01_print is vempno number(10); vename varchar2(10); begin vempno := 1111; vename := 'Hong'; dbms_output.put_line(vempno || ' ' || vename); end; / 형식) execute 프로시저 이름; 예시) set serveroutput on; execute pro_noparam; - 이미 만들어져 있는 프로시저 실행 begin 프로시저이름; end; select * from emp01.. 2022. 10. 30.
1026_PL/SQL(변수, 조건문, 반복문) PL/SQL declare -변수를 정의 begin -SQL구문 작성 -출력구문 작성 --> 쿼리문의 수행결과를 반드시 출력함수를 통해서 확인해야 한다. exception -예외 처리 구문 end; - decleare 선언부 블럭내에서만 가능 - 상수 선언시 초기값 필수 할당 - 변수 미 할당시 데이터타입 상관없이 초기값 null 로 지정 - 변수 : 변수명 데이터타입 := 초기값; ex_num numnber := 1; ex_str varchar(10) := 'str1'; - 상수 : 상수명 constrant 데이터타입 := 상수값; ex_num constant number := 1; - 출력 예 : DECLARE EX_NUM CONSTANT NUMBER := 10; --상수 선언 EX_STR VARCH.. 2022. 10. 27.