레이블이 패키지HelloWorld인 게시물을 표시합니다. 모든 게시물 표시
레이블이 패키지HelloWorld인 게시물을 표시합니다. 모든 게시물 표시

2021년 12월 26일 일요일

오라클 패키지(Oracle PLSQL Package)란? 패키지 HelloWorld 실습, Create Package, Create Package Body, 자바학원, 오라클학원, SQL학원, 자바교육, 오라클교육, SQL교육

 

오라클 패키지(Oracle PLSQL Package)란? 패키지 HelloWorld 실습, Create Package, Create Package Body, 자바학원, 오라클학원, SQL학원, 자바교육, 오라클교육, SQL교육


http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=716 


오라클 패키지(Oracle PLSQL Package)란? 패키지 HelloWorld 실습, Create Package, Create Package Body

오라클 패키지(Oracle PLSQL Package)란? 패키지 HelloWorld 실습, Create Package, Create Package Body오라클 PL/SQL오라클 패키지(Oracle Package)패키지 HelloWorld강의 : 이종철패키지란 연관성 있는, 논리적으로 연관된

ojc.asia


https://youtu.be/EZl9trYM1HM

https://www.youtube.com/watch?v=x_lwL9PuWTA&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=1 

https://www.youtube.com/watch?v=-2CzUYAmRvk&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=5 

https://www.youtube.com/watch?v=9cS-bMTbkLo&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=6 

오라클 PL/SQL

https://www.youtube.com/watch?v=7iTlIcwOX4A&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=7

오라클 패키지(Oracle Package)

패키지 HelloWorld



강의 : 이종철




패키지란 연관성 있는, 논리적으로 연관된 PL/SQL 타입(Types), 변수(Variable), 서브 프로그램(저장 프로시저, 저장 함수)의 그룹이며 오라클 스키마 오브젝트 입니다. 


패키지 명세(Specification)와 패키지 바디(Body)로 나누어지며 바디는 생략 가능 합니다.

패키지 명세는 CREATE PACKAGE 명령으로, 패키지 바디는 CREATE PACKAGE BODY 명령으로 작성 합니다.


패키지 명세에서 정의한 서브 프로그램 및 변수, 타입만 외부에서 접근, 호출 가능 합니다.

패키지 명세 : 타입, 전역변수, 커서, 예외, PL/SQL 프로그램에 대한 선언
패키지 바디 : 패키지 명세에서 정의한 모든 커서, 서브프로그램을 구현


패키지를 사용하는 장점은 다음과 같습니다.

연관된 타입, 서브 프로그램들을 PL/SQL 모듈안에 캡슐화. 시스템을 구축 운영하다보면 많은 함수, 프로시저등을 만들어 쓰는데 시간이 지나게되면 수가 많아져서 관리가 힘들어 집니다. 이런 함수, 프로시저들을 연관성 있는 것끼리 묵어 놓은 것이 패키지 입니다.

패키지 명세를 통한 커서, 예외, 함수나 프로시저의 구조를 정의하고 이를 먼저 컴파일하는 것이 가능 합니다.

패키지명세는 외부에 공개되는데 이를 구현한 패키지 바디는 외부에서 볼 수 없으며 타입, 서브프로그램들을 PUBLIC, PRIVATE으로 선언하여 접근을 제어할 수 있습니다. 패키지 바디에서 PRIVATE으로 선언한 함수, 프로시저는 외부에서는 참조 불가능 하며 내부에서 기능을 구현하기 위해 참조 됩니다.

패키지 명세에서 정의한 커서 or 예외, PUBLIC 변수들은 세션동안 유효하므로 이것들을 활용한 새로운 기능의 추가가 용이 합니다.

패키지안의 프로시저, 함수등이 최초 호출될 때 전체 패키지가 메모리에 로드 되므로 이후 호출 부터는 DISK I/O는 없습니다. 성능상 장점.


<기본형식>

[패키지 명세]
CREATE [OR REPLACE] PACKAGE package_name IS
   [variable declaration]
   [cursor declaration]
   [exception declaration]
   [procedure declaration]
   [function declaration] 
END;
 
[패키지 바디]
CREATE [OR REPLACE] PACKAGE BODY package_name  IS 
   [variable declaration]
   [cursor implementation]
   [exception implementation]
   [procedure bodies]
   [function bodies] 
END;


패키지 HelloWorld 실습 

프로시저 하나만 가지는 HELLO라는 이름의  패키지를 생성해 봅시다.


먼저 패키지 명세를 작성하세요.


-- 패키지명세는 패키지를 구성할 요소를 정의 합니다.
CREATE OR REPLACE PACKAGE HELLO
IS
   -- HELLO 패키지는 P_TEST라는 프로시저 하나로 이루어져 있습니다.
   PROCEDURE P_TEST(P_NAME VARCHAR2);
END;


<실행결과>

Procedure P_PRINT_ENAME이(가) 컴파일되었습니다.


패키지 바디를 작성하세요.


-- 패키지 바디를 생성 합니다.
CREATE OR REPLACE PACKAGE BODY HELLO
IS
   -- 패키지 명세에서 정의한 P_TEST 프로시저를 작성합니다.
   PROCEDURE P_TEST(P_NAME VARCHAR2)
   IS
   BEGIN
      DBMS_OUTPUT.PUT_LINE('Hello~ ' || P_NAME);
   END;
END HELLO;


<실행결과>

Package Body HELLO이(가) 컴파일되었습니다.



패키지의 프로시저를 호출해 봅시다..


SET SERVEROUTPUT ON;

-- 패키지내의 프로시저를 호출할 때는 패키지.프로시저 형태로 호출 합니다.
EXEC HELLO.P_TEST('오라클자바커뮤니티');


<실행결과>

Hello~ 오라클자바커뮤니티


#오라클패키지, #OraclePackage, #패키지HelloWorld, #createpackage, #오라클교육, #PLSQL교육, #자바교육, #SQL교육,#오라클학원, #PLSQL학원, #자바학원, #SQL학원, 오라클패키지, OraclePackage, 패키지HelloWorld, createpackage, 오라클교육, PLSQL교육, 자바교육, SQL교육,오라클학원, PLSQL학원, 자바학원, SQL학원, 

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...