더북(TheBook)

변수

변수는 다른 프로그래밍 언어에서 사용하는 변수와 개념이 같으며 선언부에서 변수 선언을 하고 실행부에서 사용한다. 변수 선언 방식은 다음과 같다.

    변수명 데이터타입 := 초깃값;

변수 선언과 동시에 초깃값을 할당할 수 있는데, 초깃값을 할당하지 않으면 데이터 타입에 상관없이 그 변수의 초깃값은 NULL이 된다. 물론 선언부에서는 선언만 하고 실행부에서 초깃값을 할당하기도 한다.

변수로 선언할 수 있는 데이터 타입은 크게 두 가지로 구분할 수 있는데, 하나는 SQL 데이터 타입이고 다른 하나는 PL/SQL 데이터 타입이다. 사실 이 두 가지를 엄격히 구분하지는 않는다. 왜냐하면 PL/SQL 데이터 타입에는 SQL 데이터 타입이 포함되어 있기 때문이다. SQL 데이터 타입은 2장에서 알아 봤으니, 이를 제외한 나머지 PL/SQL 데이터 타입인 BOOLEAN, PLS_INTEGER, BINARY_INTEGER 등에 대해 알아 보자.

BOOLEAN 타입은 어떤 값이 참인지 거짓인지 판별할 때 사용하며, TRUE, FALSE, NULL 세 가지 값을 갖고 있다. PLS_INTEGER는 -2,147,483,648에서 2,147,483,647까지 범위를 가진 숫자 타입으로, NUMBER 형에 비해 내부적으로 저장 공간을 덜 차지한다. BINARY_INTEGER는 PLS_INTEGER 타입과 동일하다. 이 외에도 커서 타입, RECORD 타입 등이 있는데 이들에 대해서는 이후에 다루도록 하자.

PLS_INTEGER 타입에는 하위 데이터 타입이 존재하는데 그 내역은 다음과 같다.

표 8-1 PLS_INTEGER 하위 타입
데이터 타입 설명
NATURAL PLS_INTEGER 중 음수 제외 (0 포함)
NATURALN PLS_INTEGER 중 음수 제외인데 NULL 할당 불가, 반드시 선언 시 초기화 필요
POSITIVE PLS_INTEGER 중 양수 (0 미포함)
POSITIVEN PLS_INTEGER 중 양수인데 NULL 할당 불가, 반드시 선언 시 초기화 필요
SIGNTYPE PLS_INTEGER 중 -1, 0, 1
SIMPLE_INTEGER PLS_INTEGER 중 NULL이 아닌 모든 값, 반드시 선언 시 초기화 필요
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.