📃 DATABASE

    [PL/SQL] 패키지 데이터

    [PL/SQL] 패키지 데이터

    패키지 데이터패키지에는 서브 프로그램뿐만 아니라 상수, 변수, 커서, 레코드, 컬렉션, 예외까지 선언해서 사용할 수 있다.굳이 상수나 변수, 커서 등을 패키지에서 선언해 사용할 필요가 있을까? 상수와 변수 선언패키지 안에 상수나 변수를 선언하게 되면 이들의 생존주기는 세션 단위로, 한 세션이 살아있는 동안에는 그 값이 메모리 상에 유지된다.즉, 한 번 로그인한 뒤 로그아웃을 하기 전까지는 그 값이 공유된다. 변수의 경우, 해당 패키지의 사용이 끝났더라도 같은 세션에서는 그 값을 공유할 수 있다. 1234CREATE OR REPLACE PACKAGE CH12_VAR IS C_TEST CONSTANT VARCHAR2(10) := 'TEST'; V_TEST VARCHAR2(10);END;Colored by C..

    [PL/SQL] 패키지(PACKAGE)

    [PL/SQL] 패키지(PACKAGE)

    패키지(PACKAGE)논리적 연관성이 있는 pl/sql타입, 변수, 상수, 서브 프로그램, 커서, 예외 등의 항목을 묶어 놓은 객체다.패키지는 컴파일 과정을 거쳐 DB에 저장되며, 다른 프로그램에서 패키지의 항목을 참조, 공유,실행할 수 있다. 패키지의 장점1. 모듈화 기능업무적으로 연관성이 있거나 비슷한 기능을 수행하는 서브 프로그램이나 변수, 상수, 커서, 사용자 정의 타입들을 하나의 패키지에 담아두면 이해하기도, 관리하기도 쉽다.2. 프로그램 설계의 용이성패키지는 선언부(스펙)과 본문(바디)로 구성되는데, 선언부만 있어도 컴파일한 뒤 저장이 가능하다.3. 캡슐화패키지 선언부는 외부에 공개되지만, 패키지에 속한 커서, 함수, 프로시저의 세부 구현내용이 담겨있는 본문은 외부에서 볼 수 없다.즉, 정보 ..

    [PL/SQL] 사용자 정의 타입

    [PL/SQL] 사용자 정의 타입

    사용자 정의 타입자주 사용하는 컬렉션 타입을 미리 정의해놓고 사용하는 것.사용자 정의 타입으로 사용할 수 있는 컬렉션 타입은 VARRAY와 중첩 테이블뿐이며, 컬렉션은 아니지만 OBJECT도 사용할 수 있다. 선언방법VARRAY1CREATE OR REPLACE TYPE 타입명 IS VARRAY(최대크기) OF 값타입;cs중첩테이블1CREATE OR REPLACE TYPE 타입명 IS TABLE OF 값타입;csOBJECT12345CREATE OR REPLACE TYPE 타입명 IS OBJECT ( 멤버1 멤버1_데이터타입, 멤버2 멤버2_데이터타입, ...);Colored by Color Scriptercs 예제12CREATE OR REPLACE TYPE CH11_VA_TYPE IS VARRAY(5) O..

    [PL/SQL] 컬렉션 메서드

    [PL/SQL] 컬렉션 메서드

    컬렉션 메서드컬렉션 메서드란 컬렉션의 요소에 접근해 값을 가져오고 수정,삭제하는 기능을 하는 빌트인 프로시저와 함수를 말한다.컬렉션명.메서드명 형태로 사용할 수 있다. 메서드명 메서드 타입 설명 DELETE 프로시저 컬렉션 요소를 삭제 TRIM 프로시저 VARRAY나 중첩테이블의 끝에서 요소를 삭제 EXTEND 프로시저 VARRAY나 중첩테이블의 끝에 요소를 추가 EXISTS 함수 VARRAY나 중첩테이블에 특정 요소가 존재하면 TRUE를 반환 FIRST 함수 컬렉션의 첫번째 인덱스를 반환 LAST 함수 컬렉션의 마지막 인덱스를 반환 COUNT 함수 컬렉션의 요소의 총 갯수를 반환 LIMIT 함수 컬렉션이 가질 수 있는 요소의 최대 수를 반환 PRIOR 함수 특정 인덱스 이전의 인덱스를 반환 NEXT 함..

    [PL/SQL] 컬렉션(COLLECTION)

    [PL/SQL] 컬렉션(COLLECTION)

    컬렉션(COLLECTION)레코드와 유사한 데이터 타입인데, 레코드보다는 한층 더 향상되고 확장된 형태이다.사용법이 객체지향 프로그램의 클래스와 유사하다.생성자를 통해 초기화할 수 있고, 빌트인 함수와 프로시저로 구성된 컬렉션 메서드를 제공하며, 이러한 메서드를 통해 컬렉션에 접근해 값을 수정, 삭제할 수 있다. 종류- 연관 배열- VARRAY- 중첩 테이블 연관 배열(ASSOCIATIVE ARRAY)키와 값으로 구성된 컬렉션으로, 키를 인덱스라고도 부르기 때문에 연관 배열을 INDEX-BY 테이블이라고도 한다.연관배열의 키는 유일한 키다.배열을 구성하는 각 항목을 요소라고 하며, 요소의 값은 연관배열변수명(인덱스) 형태로 접근할 수 있다.연관배열은 그 크기에 제한 없이 입력해서 사용할 수 있으며, 각 ..

    [PL/SQL] 레코드(RECORD) : 커서형 레코드, 중첩 레코드

    [PL/SQL] 레코드(RECORD) : 커서형 레코드, 중첩 레코드

    [PL/SQL] 레코드(RECORD) : 사용자정의형 레코드, 테이블형 레코드 [PL/SQL] 레코드(RECORD) : 커서형 레코드, 중첩 레코드 커서형 레코드커서를 레코드 변수로 받는 것을 커서형 레코드라고 한다.커서명%ROWTYPE 형태로 선언한다. 예제123456789101112131415161718192021222324DECLARE CURSOR C1 IS SELECT DEPARTMENT_ID , DEPARTMENT_NAME , PARENT_ID , MANAGER_ID FROM DEPARTMENTS; VR_DEP C1%ROWTYPE;BEGIN DELETE CH11_DEP; OPEN C1; LOOP FETCH C1 INTO VR_DEP; EXIT WHEN C1%NOTFOUND; INSERT INTO..

반응형