📃 DATABASE/ORACLE

    [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..

    [PL/SQL] 레코드(RECORD) : 사용자정의형 레코드, 테이블형 레코드

    [PL/SQL] 레코드(RECORD) : 사용자정의형 레코드, 테이블형 레코드

    [PL/SQL] 레코드(RECORD) : 사용자정의형 레코드, 테이블형 레코드 [PL/SQL] 레코드(RECORD) : 커서형 레코드, 중첩 레코드 레코드(RECORD)PL/SQL에서 제공하는 데이터 타입 중 하나로, 문자형, 숫자형 같은 기본 빌트인 타입과는 달리 복합형 구조다.일반 빌트인 타입으로 변수를 선언하면 해당 변수는 한 번에 하나의 값만 가질 수 있지만 레코드는 여러 개의 값을 가질 수 있다.테이블과 달리 레코드가 가질 수 있는 로우의 수는 단 한 개 뿐이다.커서라는 것이 테이블에 있는 데이터를 읽어오는 것이므로 데이터 구조적 측면에서 보면 커서도 레코드에 속하기 때문에, 레코드도 커서와 동일한방식으로 선언한다. 사용자 정의형 레코드레코드에서 테이블의 컬럼에 해당하는 것을 필드라고 한다. 1..

    [PL/SQL] 커서(CURSOR) (3) : 커서 변수

    [PL/SQL] 커서(CURSOR) (1) : 명시적 커서와 묵시적 커서 [PL/SQL] 커서(CURSOR) (2) : 커서와 FOR문 [PL/SQL] 커서(CURSOR) (3) : 커서변수 커서 변수특징- 한 개 이상의 쿼리를 연결해 사용할 수 있다. 하나의 커서 변수를 선언해 쿼리를 연결해서 사용한 뒤, 같은 커서 변수를 또 다른 쿼리에 연결해서 사용할 수 있다.- 변수처럼 커서 변수를 함수나 프로시저의 매개변수로 전달할 수 있다.- 커서 속성을 사용할 수 있다. 사용방법1. 커서 변수 선언하기12TYPE 커서_타입명 IS REF CURSOR [ RETURN 반환 타입 ];커서_변수명 커서_타입명;cs 반환타입은 해당 커서가 반환하는 결과 집합을 나타내며 '%ROWTYPE' 속성으로 정의한다.RETU..

반응형