ORACLE [PLSQL] 상수와 변수

2013.12.27 19:46

가을의곰을... 조회 수:4443



http://radiocom.kunsan.ac.kr/lecture/oracle/plsql/plsql_variable.html



PL/SQL 상수와 변수




경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

상수와 변수는 사용되기 전에 먼저 선언되어야 하며, 선언된 상수와 변수는 SQL 문에서 사용된다.
변수는 어떠한 SQL 데이터타입도 가능하므로 CHAR, DATE, NUMBER, BOOLEAN, BINARY_INTEGER이 될 수 있다.

예를 들어, part_no 변수에 4자리 수 NUMBER를 선언하고, 또한 in_stock 변수에 논리값 TRUE, FALSE를 선언하는 예는 다음과 같다.

 
  part_no NUMBER(4); 
  in_stock BOOLEAN; 

RECORD나 TABLE로 된 전체 데이터타입을 가지는 레코드나 PL/SQL 테이블도 선언할 수 있다.


변수값 지정 방법

 
방법1) := 연산자에 의한 지정 
    := 연산자 왼쪽에 변수를,  
    := 연산자 오른쪽에 표현식이 놓인다. 
 예) 
   tax := price *tax_rate; 
   bonus := current_salary*0.10; 
   amount := TO_NUMBER(SUBSTR('750 dollars',1,3)); 
   valid := FALSE; 
 
방법2) select나 fetch에 의해서 변수값 지정 
다음은 emp 테이블에서 sal을 select하여 10%의 보너스를 오라클이 계산하는 예이다. 
 예) 
   SELECT sal * 0.10 INTO bonus FROM emp WHERE empno=emp_id; 
 
그러므로 변수 bonus는 다른 계산에서 사용할 수 있다.  
 
상수의 선언은 변수선언 방법에 CONSTANT라는 예약어를 사용하면 된다.
다음은 변수 credit_limit에 상수값을 선언하는 예이다. 
 예) 
   credit_limit CONSTANT REAL := 5000.00;
 

PL/SQL 선언부에는 BEGIN ... END절에서 사용할 매개변수와 일반적인 변수를 선언하게 된다. 일반적인 변수는 로직을 구현하면서 생성되는 데이터를 임시로 저장할 때 사용되는 타입이다. 변수에는 다음과 같은 4가지 종류가 있다.

SCLAR 변수 하나의 SCLAR 변수에 사용자의 임시 데이터를 하나만 저장할 수 있는 타입으로 대부분의 변수는 SCLAR 변수이다.
REFERENCES 변수 변수를 정의할 때 타입과 용량을 알고 있으면, SCLAR 변수를 사용하면 좋지만, 그렇지 않은 경우 어떤 테이블, 어떤 컬럼의 값을 변수로 지정해야하는 경우에 해당 테이블명과 컬럼 명을 정의하여 해당 테이블과 해당 컬럼의 데이터 타입과 크기를 그대로 참조하여 정의할 수 있다.
또한 정의해야할 변수가 특정 테이블의 모든 컬럼을 대상으로 선언해야 하는 경우에도 이 타입을 선언하면 효과적으로 선언된 변수를 사용할 수 있다.
COMPOSITE 변수
record형 변수 여러 개의 필드를 묶어서 하나의 레코드 타입으로 변수를 선언하여 사용
table형 변수 일반 프로그래밍에서 사용되는 배열변수(array variable) 형식
BIND 변수 데이터베이스 내에 생성된 PL/SQL 블럭을 실행하기 위해서는 SQL*Plus에서 EXECUTE 명령을 실행해야 한다.
이 경우 실행된 PL/SQL 블럭의 실행 결과를 OUT 또는 INOUT 매개변수를 통해 SQL*Plus 상에서 참조하는 경우가 있다. 이 때 SQL*Plus에서 반환되는 값을 전달받기 위해 선언되는 변수를 바인드 변수라 한다.

%type 변수
%rowtype 변수





본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86774
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79084
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95846
22 [DAP] 내용정리 및 문제 풀이 졸리운_곰 2014.07.18 5927
21 데이터아키텍처 전문가 실기문제 출제방향 및 고려사항 보기 DAP130411.pdf file 졸리운_곰 2014.07.18 2142
20 데이터아키텍쳐준전문가 (DasP) 준비 과목 분류 file 졸리운_곰 2014.07.06 3160
19 데이터아키텍처 준전문가 (DasP) 개요 file 졸리운_곰 2014.07.06 2610
18 [만화로 쉽게 배우는 데이터베이스] 총정리편 졸리운_곰 2014.07.03 3715
17 대학생 단무지의 DASP 도전기 4회 file 졸리운_곰 2014.07.03 3569
16 대학생 단무지의 DASP 도전기 3회 file 졸리운_곰 2014.07.03 2776
15 대학생 단무지의 DASP 도전기 2회 file 졸리운_곰 2014.07.03 2428
14 대학생 단무지의 DASP 도전기 1회 file 졸리운_곰 2014.07.03 3283
13 [DAsP합격후기] DAsP 전문가 자격취득 합격 수기 ( 최경주 ) 졸리운_곰 2014.07.03 4671
12 전사아키텍처 프로세스 개요 file 졸리운_곰 2014.06.05 2070
11 1.참조 모델 정의 file 졸리운_곰 2014.06.05 2144
10 전사아키텍처 프레임워크 개념 file 졸리운_곰 2014.06.05 2616
9 전사아키텍처 개념 file 졸리운_곰 2014.06.05 2159
8 [데이타모델링실무] 연습문제풀이 2014-04-15 [화] secret 졸리운_곰 2014.04.15 0
7 2014-04-14~18 데이타베이스진흥원 : 데이타베이스모델링 교육 secret 졸리운_곰 2014.04.14 0
6 SQL개발자, SQL 전문가 시험예제 file 가을의 곰을... 2013.11.12 4071
5 [Dap] 데이터아키텍쳐전문가 내용 정리 및 문제풀이 file 가을의 곰을... 2013.11.12 4629
4 [DAsP] 데이터아키텍쳐준전문가 요약자료 file 가을의 곰을... 2013.11.09 22971
3 이제는데이터아키텍처전문가시대 - 한국데이터베이스진흥원.pdf file 가을의 곰을... 2013.10.08 2790
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED