안녕하세요. 신기한 연구소입니다.
변수와 상수에 대해 알아봅니다.
우선 간단하게 변수와 상수가 무엇인지 알아봅니다.
변수는 변하는 수입니다.
즉, 값을 바꿀 수 있다는 의미입니다.
빈 박스를 생각하면 됩니다.
박스 안에 어떤 수를 넣고 뺄 수 있거든요.
상수는 변하지 않는 수입니다.
그 말은 한 번 포장을 하면 바꿀 수 없다는 의미입니다.
유리나 플라스틱 큐브 안에 하나의 값을 넣고 밀봉하면 다른 값을 넣을 수 없겠죠?
바로 상수라고 합니다.
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의 타입을 사용할 수 있게 됩니다.
이렇게 변수와 상수 그리고 편하게 사용할 수 있는 테이블의 타입을 활용하는 방법을 알아봤습니다.
어떤 공부를 하더라도 용어에 대한 개념을 잘 이해한다면
어려움 없이 사용할 수 있다고 생각되네요.
내일도 가서 열심히 코딩해야겠습니다.
'Software > 데이터베이스(SQL)' 카테고리의 다른 글
[PLSQL]친절한 PL/SQL 간단 시작 사용기. (0) | 2021.05.23 |
---|---|
[HOW]오라클SQL, REPLACE()와 TRANSLATE() 쉽게 이해하고 사용하는 방법, ORACLE, 변환함수 (0) | 2020.09.27 |
[HOW]오라클 SQL WITH문, MERGE문 사용하는 방법, ORACLE (0) | 2020.09.26 |
[HOW]오라클 SQL, LAG(), LEAD(), FIRST_VALUE(), LAST_VALUE() 함수 사용하는 방법, ORACLE (0) | 2020.09.25 |
[HOW]오라클(ORACLE) 비율함수 사용하는 방법, 윈도우함수, NTILE(), RATIO_TO_REPORT(), PERCENT_RANK(), CUME_DIST() (0) | 2020.09.24 |