반응형

안녕하세요. 신기한 연구소입니다.

변수와 상수에 대해 알아봅니다.

우선 간단하게 변수와 상수가 무엇인지 알아봅니다.

변수는 변하는 수입니다.

즉, 값을 바꿀 수 있다는 의미입니다.

빈 박스를 생각하면 됩니다.

박스 안에 어떤 수를 넣고 뺄 수 있거든요.

상수는 변하지 않는 수입니다.

그 말은 한 번 포장을 하면 바꿀 수 없다는 의미입니다.

유리나 플라스틱 큐브 안에 하나의 값을 넣고 밀봉하면 다른 값을 넣을 수 없겠죠?

바로 상수라고 합니다.

 

PL/SQL에서는 변수와 상수를 어떻게 사용하는지 같이 보겠습니다.

우선 변수를 선언하는 방법입니다.

기본적인 몇 가지를 소개해봅니다.

먼저 저번에 봤던 문자열 VARCHAR2 형식입니다.

사용할 변수명을 지정한 뒤 문자열이면 VARCHAR2를 붙여줍니다.

그리고 몇 글자를 입력받을지 사이즈를 정할 수 있습니다. ( ) 안에 숫자로 표시합니다.

위 예시는 (50)이므로 50개의 문자를 입력받을 수 있습니다.

그리고 값을 할당 할때는 :=를 사용합니다.

문자열이기 때문에 싱글쿼테이션 ' ' 안에 값을 넣어줍니다.

이름이라는 변수를 만들고 싶다면,

name VARCHAR(10); 

이렇게 하면 되겠네요. name := '홍길동';

숫자인 NUMBER나 INTEGER는 싱글 쿼테이션이 없어도 됩니다.

숫자는 그냥 숫자만 써주면 된답니다. age := 5;

이제 상수에 대해 알아봅니다.

변수와 비슷하지만 다른점이 있습니다.

상수는 밀봉된 큐브안에 값이 있기에 바꿀 수 없다고 했습니다.

그 말은 선언(밀봉)할 때 이미 값이 들어 있어야 합니다.

그리고 중간에 값을 바꿀 수 없는 구조라는 겁니다.

위 예제를 보면 iCode는 값을 넣고 밀봉(CONSTANT)을 했습니다.

출력하면 4355로 값이 잘 나옵니다. 

그리고 iCode를 3344로 변경을 시도합니다.

하지만 오류가 발생합니다 (빨간 밑줄 보이시죠?)

중간에 값을 바꿀 수 없습니다. 밀봉(CONSTANT)되어 있기 때문입니다.

또한 iMember처럼 선언할 때 값 없이 밀봉해도 오류가 납니다.

값이 없이 밀봉이 끝났기에 중간에 값을 넣을 수도 없습니다.

전부 오류가 발생했습니다.(빨간줄)

좀 더 편하게 타입을 정할 수 있습니다.

위 예제를 보면 VARCHAR2, CHAR, NUMBER 등의 타입을 지정해서 사용했습니다.

하지만 변수가 테이블의 변수와 대응한다면 

하나씩 찾아가면서 타입을 지정해야 하는 불편함이 있겠지요?

더 편하게 사용할 수 있습니다.

바로 그 컬럼의 타입을 불러오면 되거든요.

MEMBER 테이블의 NAME을 변수에 담아서 사용하고 싶다면

sName MEMBER.NAME%TYPE;

사용할 변수 이름(sName)을 지정한 뒤 테이블명.컬럼명을 지정합니다. MEMBER.NAME

그리고 컬럼명에 %TYPE를 붙여주면 MEMBER.NAME의 타입을 사용할 수 있게 됩니다.

이렇게 변수와 상수 그리고 편하게 사용할 수 있는 테이블의 타입을 활용하는 방법을 알아봤습니다.

어떤 공부를 하더라도 용어에 대한 개념을 잘 이해한다면

어려움 없이 사용할 수 있다고 생각되네요.

내일도 가서 열심히 코딩해야겠습니다. 

 

반응형