PL / SQL 의 복합 유형 에 대한 상세 한 설명
1. 레코드 종류
기록 형식 은 논리 와 관련 된, 분 리 된, 기본 데이터 형식의 변 수 를 하나의 전체 로 저장 하고 최소한 하나의 스칼라 형 이나 RECORD 유형의 구성원 을 포함해 야 합 니 다.
역할 은 서로 다 르 지만 논리 와 관련 된 정 보 를 저장 하 는 것 이다.기록 형식 을 사용 할 때 현재 성명 부분 에서 기록 의 구성, 기록 의 변 수 를 정의 한 다음 실행 부분 에 있어 야 합 니 다.
기 록 된 변수 나 구성원 을 참조 합 니 다.
기록 형식 정의 문법:
TYPE record_name IS RECORD(
v1 data_type1 [not null] [:= default_value],
v2 data_type2 [not null] [:= default_value],
......
vn data_typen [not null] [:= default_value]
);
모든 것 을 경험 하 는 실례:
DECLARE
--
--
TYPE test_record IS RECORD(
name VARCHAR2(50) NOT NULL := 'my test',--:= pl/sql
detail VARCHAR2(300)
);
-- ,
record_book test_record;
BEGIN
--
record_book.name := ' ';
record_book.detail := ' ';
--
DBMS_OUTPUT.PUT_LINE(record_book.name);
DBMS_OUTPUT.PUT_LINE(record_book.detail);
END;--
SELECT 를 사용 하여 기록 형식 에 값 을 부여 합 니 다. 기록 필드 가 조회 필드 와 일치 하 는 지 확인 하 십시오.
첫 번 째 단계, 테이블 작성, 데이터 삽입:
create table mytest(
id number(3),
name varchar2(20),
age number(3)
);
insert into mytest values(1,'one',18);
insert into mytest values(2,'two',20);
insert into mytest values(3,'three',24);
commit;
두 번 째 단계 에서 SELECT 할당 을 사용 하여 실제 작업:DECLARE
--
TYPE ts_record IS RECORD(
name mytest.name%TYPE,--%TYPE name mytest.name
age mytest.age%TYPE
);
record_book ts_record;
BEGIN
--
SELECT name,age INTO record_book
FROM mytest WHERE id = 1;
DBMS_OUTPUT.PUT_LINE(record_book.name);
DBMS_OUTPUT.PUT_LINE(record_book.age);
END;--
출력 결과:
one
1
메모: 하나의 기록 형식 변 수 는 데이터베이스 에서 조회 한 기록 만 저장 할 수 있 습 니 다. 여러 개의 기록 을 조회 하면 오류 가 발생 합 니 다.
2. 배열 형식
배열 은 같은 유형의 구성원 집합 이다.모든 구성원 은 유일한 하 표를 가지 고 있다.PL / SQL 의 배열 유형 은 VARRAY 입 니 다.
VARRAY 데이터 형식 정의 문법:
TYPE varray_name IS VARRAY(size) OF element_type [NOT NULL];
varray_name 은 배열 이름, size 는 배열 크기, elementtype 은 그룹 구성원 형식 입 니 다. 기본 값 은 null 입 니 다. not null 제한 을 추가 할 수 있 습 니 다.배열 사용 절차: 정의, 성명, 초기 화
DECLARE
-- my_array, 5,
TYPE my_array IS VARRAY(5) OF VARCHAR2(50);
--
v_my_array my_array;
BEGIN
--
v_my_array := my_array('one','two','three','four','five');
-- 1
DBMS_OUTPUT.PUT_LINE(v_my_array(1));
--
v_my_array(1) := ' one ';
DBMS_OUTPUT.PUT_LINE(v_my_array(1));
END;<span style="color:#FF0000;">
</span>
3.% TYPE 사용
데이터 형식 이 존재 하 는 데이터 형식 과 일치 하 는 변 수 를 정의 합 니 다.% TYPE 를 사용 하여 데이터 형식 을 일치 시 킬 수 있 습 니 다.
장점:
(1) 인 용 된 데이터 형식 은 모 를 수 있 습 니 다.
(2) 인 용 된 유형 이 바 뀌 더 라 도 변 경 된 유형 을 유지 하고 데이터 형식의 일치 성 을 동적 으로 유지 할 수 있다.
DECLARE
--
TYPE ts_record IS RECORD(
name mytest.name%TYPE,--%TYPE name mytest.name
age mytest.age%TYPE
);
record_book ts_record;
BEGIN
--
SELECT name,age INTO record_book
FROM mytest WHERE id = 1;
DBMS_OUTPUT.PUT_LINE(record_book.name);
DBMS_OUTPUT.PUT_LINE(record_book.age);
END;--
이 구문 블록 에서% TYPE 는 변 수 를 정의 하 는 데이터 형식 을 데이터베이스 시트 필드 형식 으로 하고 데이터베이스 시트 필드 형식 이 바 뀌 었 을 때 동적 으로 동기 화 합 니 다.인용 자 는 유형 을 알 필요 가 없다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
파이썬 - 데이터 유형📮 연락처 🇧🇷 🇺🇸 🇫🇷 Python은 변수의 데이터 유형을 추론합니다. 즉, 변수를 사용하기 위해 명시적 선언에 string, boolean, int 또는 기타 항목을 작성할 필요가 없습니다. 캐스트를 사용하여 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.