형 선언에서 TABLE OF NUMBER 란? 0 3 1,367

by 안떠니 [2014.12.16 07:14:24]


Oracle Tutorial - Managing Packages

https://www.youtube.com/watch?v=9qNxtHV79u0

16:09 에서 나오는 예문 코드입니다.

아래 형 선언에서 TABLE OF NUMBER 의 의미를 알려주세요.

감사합니다~~

 

CREATE  OR  REPLACE  PACKAGE  misc  AS
co_name  CONSTANT  VARCHAR2(30)  :=  'acme  company';
TYPE  num_arr_type  IS  TABLE  OF  NUMBER;

FUNCTION  get_co_name  RETURN  VARCHAR2;
FUNCTION  add_nums(x  NUMBER,  y  NUMBER)  RETURN  number;
FUNCTION  add_nums(arr  num_arr_type)  RETURN  number;
END  misc;
/

CREATE  OR  REPLACE  PACKAGE  BODY  misc  AS

FUNCTION  get_co_name  RETURN  VARCHAR2  AS
BEGIN
return  co_name;
END  get_co_name;

FUNCTION  add_nums(x  NUMBER,  y  NUMBER)  RETURN  number
AS
BEGIN
RETURN  x  +  y;
END  add_nums;

FUNCTION  add_numbs(arr  num_arr_type)  RETURN  number
AS
total  NUMBER  :=  0;
BEGIN
FOR  i  IN  1..arr.COUNT  LOOP
total  :=  total  +  arr(i);
END  LOOP;
RETURN  total;
END  add_nums;
END  misc;
/

 

by 안떠니 [2014.12.16 07:17:55]

코드 상으로 볼 때, num_arr_type 은 크기가 정해지지 않은 배열형으로 보입니다.

그래서, arr.COUNT 로 배열의 크기를 확인하는 것 같네요. 맞나요?

 

이런 식의 선언이 오라클에서 자주 쓰이는 것 같네요...


by 임상준 [2014.12.16 08:36:22]

arr.count 는 크기 확인이라기 보다는 arr 의 갯수만큼 루프를 돌겠다는 의미 같구요

table of number 는 답변 주신게 맞는 것 같습니다.. 저렇게 쓰기도 하고 타입 오브젝트를 별도로 생성해서 쓰기도 합니다.


by 마농 [2014.12.16 08:37:36]

숫자형 자료를 저장하는 테이블 구조.
숫자가 저장되는 배열 행태.
http://www.gurubee.net/lecture/1049

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입