오라클 패키지의 전역변수 선언하는 방법을 알고싶습니다. 0 2 6,853

by 데지아빠 [PL/SQL] 패키지 전역변수 [2015.04.09 14:37:51]


패키지는 프로시저의 모임인데요

프로시저안에 변수 선언은 해당 프로시저 안에서 동작하고, 프로시저가 끝날 시 변수 공간은 초기화 되어버립니다.

그래서 패키지에서 변수를 선언해서 일정 변수를 입력, 

패키지의 모든 프로시저에서 동일하게 변수로 사용하고 싶은데.

패키지 전역변수 선언하는게 나와있기는 한데 이것만으로는 선언이 힘드네요

-- 명세부

CREATE OR REPLACE package 패키지명

is

...

end 패키지명;

-- 실행부

CREATE OR REPLACE package body 패키지명
is

-- 변수선언

v_qq varchar2(20);

v_qq := '10';

procedure 프로시저 명

is 

...

end 프로시저명

end 패키지명;

 

처럼 패키지에 변수를 선언해서 해당 패키지 내 모든 프로시저에서 사용하고 싶은데.. 혹시 패키지의 전역변수 선언하는 방법에 대해서 아시나요??

아 그리고 패키지의 경우 명세부 / 실행부 2개로 나눠서 관리를 하는데 전역변수 선언은 어디서 선언을 해야하나요?

 

by 데지아빠 [2015.04.09 15:11:39]

해결하였습니다..

혼자 쓰고 한자 답변하네요 ㅋ

패키지 전역변수는 명세부 (프로시저 명 선언하는곳)에 

선언과 동시에 바로 값을 줘야 하네요

변수명 varchar2(20) := '01';

이런식이에요~


by 오라클 [2015.06.12 23:31:34]

패키지 프로시줘에서 패키지전역변수 갱신해도 값이 안 바뀌는데, 혹시 이유 아세요?

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