17장 연관배열(1) ASSOCIATIVE ARRAY (OR INDEX BY TABLE)

sun·2023년 12월 11일
1

SQL

목록 보기
6/15

오라클에서 새로운 연결통로로 시작할때 또 다른 세션에서는

SET SERVEROUTPUT ON ;


자료형이 다른 여러데이터를 저장하는 레코드

type

1.레코드 이름 IS RECORD(

2.변수이름 3.자료형 4.NOT NULL 5. :=(또는 DEFAULT) 값이 도출 되는 여러 표현식

1.저장할 레코드의 이름을 지정합니다

2. 레코드 안에 포함할 변수를 지정합니다.

변수는 여러개 지정할 수 있으며 각 변수는 쉼표 (,)로 구분합니다.

3. 지정한 변수의 자료형을 지정합니다.

이 자료형 역시 %TYPE / %ROWTYPE 지정이 가능합니다.

4. 지정한 변수에 NOTNULL제약 조건을 지정합니다.(생략가능)

5.기본값을 지정합니다(생략가능)

연관배열은 (K,V) 구조이다

ORACLE

-- sql developer
-- 대소문자 변경: alt + 작은따옴표
-- 열모드 : alt + e, alt + b

연관배열 ( ASSOCIATIVE ARRAY (OR INDEX BY TABLE))

-- 키와 밸류(값) 로 구성되는 컬렉션--

-- 중복되지 않은 유일한 키를 통해 값을 저장하고 불러오는 방식 사용--

-- 연관 배열을 정의 할 때 자료형이 TABLE인 변수 작성--

중첩 배열 ( NESTED TABLE) / VARRAY (VARIABLE-SIZE ARRAY)

(ARR문 , INTEGER문 , INDEX 문, FOR 문)


커서(CURSOR)

SELECT문 또는 데이터 조작어 같은 SQL 문을 실행 했을 때

해당 SQL문을 처리하는 정보를 저장한 메모리 공간을 뜻함.

<SELECT INTO 방식>

INTO 문은 조회되는 데이터가 단 하나의 행일때 사용하는 방식 입니다.

커서는 결과행이 여러개 여도 상관이 없음.

SELECT INTO문은 SELECT절에 명시한 각 열의 결과 값을 다음과 같이 변수에 대입해준다.

SELECT문 INTO절에 명시한 변수는 개수와 자료형이 일치해야한다.

INTO절을 제외한 나머지 부분은 SELECT문과 사용법이 같다는 것도 기억하세요.

-- -WHERE절과 GROUP BY절도 사용가능

<명시적 커서 사용법>

1단계 : 커서 선언 declaration

--사용자가 직접 이름을 지정하여 사용할 커서를 sql문과 함께 작성한다

2단계 : 커서 열기 open

--커서를 선언할때 작성한 sql문을 실행 합니다. 이때 실행한 sql문에 영향을 받는 행을 active set이라고 합니다.

3단계 : 커서에서 읽어온 데이터 사용 fetch

--실행된 sql문의 결과 행 정보를 하나씩 읽어와서 변수에 저장한 후 필요한 작업을 수행 합니다.

--각 행별로 공통 작업을 반복해서 실행하기 위해 여러 종류의 loop문을 함께 사용할 수 있습니다.

4단계 : 커서 닫기 (close)

--모든 행의 사용이 긑나고 커서를 종료합니다.

03행

커서의 DEPT 테이블 조회 데이터를

저정할 변수를 선언합니다

06~09행

사용할SELECT문을

지정하여 커서의 이름 (C1)을 선언

13행

C1커서를 열어 ACTIVE SET을 식별합니다

16행

FETCH INTO 문을 사용하여 ACTIVE SET에서

결과를 추출하고 INTO절에 명시한

V_DEPT_ROW변수에 대입한다.

18~20행

V_DEPT_ROW 변수에 저장한 데이터를 출력(사용)합니다

23행

커서에 지정한 SELECT문의 결과 행 처리가

모두 끝나면 커서를 닫습니다.

이후에 필요하다면 커서를 다시 열어서 다용할 수 있다.

0개의 댓글

관련 채용 정보