>  기사  >  웹 프론트엔드  >  PL/SQL의 중첩 테이블 컬렉션

PL/SQL의 중첩 테이블 컬렉션

Patricia Arquette
Patricia Arquette원래의
2024-10-13 16:28:30733검색

Nested Tables Collection in PL/SQL

PL/SQL의 중첩 테이블 컬렉션

PL/SQL의 중첩 테이블은 동일한 유형의 요소를 무제한으로 저장할 수 있는 컬렉션 유형입니다. 특히 구조화된 형식으로 데이터 세트를 보관하는 데 유용하므로 관련 데이터의 여러 행을 관리해야 하는 시나리오에 이상적입니다.

간단한 정의

중첩 테이블: 중첩 테이블은 동일한 데이터 유형의 요소를 임의 개수만큼 보유할 수 있는 컬렉션 유형입니다. VARRAY와 달리 중첩 테이블은 희박할 수 있으므로 인덱싱에 공백이 있을 수 있습니다.

구문 및 구조

구문

  1. 중첩 테이블 유형 만들기:

type_name을 element_type의 테이블로 생성하거나 교체하세요.

type_name: 중첩된 테이블 유형의 이름입니다.

element_type: 중첩 테이블에 있는 요소의 데이터 유형(예: VARCHAR2, NUMBER 또는 객체 유형).

  1. 중첩 테이블 변수 선언:

변수_이름 유형_이름;

  1. 중첩 테이블 조작 방법:

EXTEND(n): 중첩 테이블의 크기를 n 요소만큼 늘립니다.

TRIM(n): 중첩 테이블의 크기를 n개 요소만큼 줄입니다.

DELETE(i): 인덱스 i에 있는 요소를 제거합니다.

COUNT: 중첩 테이블의 요소 수를 반환합니다.

샘플 예: 요일의 중첩 테이블

다음은 요일에 대한 중첩 테이블을 만들고, 채우고, 내용을 표시하는 방법을 보여주는 포괄적인 예입니다.

1단계: 중첩 테이블 유형 생성

먼저 요일 이름을 보관할 중첩 테이블 유형을 정의합니다.

VARCHAR2(15) 테이블로 DaysOfWeek 유형을 생성하거나 교체하세요.

2단계: 중첩 테이블 선언 및 채우기

다음으로 이 유형의 변수를 선언하고 요일을 채웁니다.

선언
일 DaysOfWeek; -- 중첩 테이블 변수 선언
시작
-- 중첩 테이블 초기화
days := DaysOfWeek();

-- Add elements to the nested table
days.EXTEND(7); -- Extend the size by 7 for all days of the week
days(1) := 'Monday';
days(2) := 'Tuesday';
days(3) := 'Wednesday';
days(4) := 'Thursday';
days(5) := 'Friday';
days(6) := 'Saturday';
days(7) := 'Sunday';

-- Display the elements in the nested table
FOR i IN 1 .. days.COUNT LOOP
    DBMS_OUTPUT.PUT_LINE('Day ' || i || ': ' || days(i));
END LOOP;

종료;
/

자세한 설명

  1. 문자 만들기:

CREATE OR REPLACE TYPE DaysOfWeek AS TABLE OF VARCHAR2(15) 문; 최대 15자 길이의 문자열을 보유할 수 있는 DaysOfWeek라는 새로운 중첩 테이블 유형을 정의합니다. 이 유형은 요일 이름을 저장하는 데 사용됩니다.

  1. 중첩 테이블 선언:

DECLARE 블록에서 days는 DaysOfWeek 유형의 변수로 선언됩니다. 이 변수는 날짜 컬렉션을 보관합니다.

  1. 중첩 테이블 초기화:

일 := DaysOfWeek(); days 변수를 DaysOfWeek 유형의 빈 중첩 테이블로 초기화합니다.

  1. 요소 추가:

일.EXTEND(7); 7개 요소(매 요일에 하나씩)를 담을 수 있도록 일 중첩 테이블의 크기를 늘립니다.

매일 해당 인덱스에 할당됩니다:

일(1) := '월요일';

일(2) := '화요일';

일(3) := '수요일';

일(4) := '목요일';

일(5) := '금요일';

일(6) := '토요일';

일(7) := '일요일';

  1. 요일 표시:

FO 루프는 days.COUNT를 사용하여 일 중첩 테이블을 반복하여 존재하는 요소 수를 확인합니다.

DBMS_OUTPUT.PUT_LINE은 매일 인덱스와 함께 출력합니다.

출력

이 블록이 실행되면 출력은 다음과 같습니다.

1일차: 월요일
2일차: 화요일
3일차: 수요일
4일차: 목요일
5일차: 금요일
6일차: 토요일
7일차: 일요일

결론

이 예에서는 PL/SQL에서 중첩 테이블을 정의하고, 채우고, 조작하는 방법을 보여줍니다. 중첩 테이블은 데이터 수집을 효율적으로 처리할 수 있는 다목적 구조이며, 동적 데이터 관리가 필요한 다양한 애플리케이션에서 사용할 수 있습니다.

위 내용은 PL/SQL의 중첩 테이블 컬렉션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.