ORACLE [PLSQL] 상수와 변수

2013.12.27 19:46

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



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 86287
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78744
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95486
83 전사아키텍처 프레임워크 개념 file 졸리운_곰 2014.06.05 2608
82 전사아키텍처 개념 file 졸리운_곰 2014.06.05 2152
81 [데이타모델링실무] 연습문제풀이 2014-04-15 [화] secret 졸리운_곰 2014.04.15 0
80 2014-04-14~18 데이타베이스진흥원 : 데이타베이스모델링 교육 secret 졸리운_곰 2014.04.14 0
79 Oracle DECODE문을 IF문처럼 사용하기. 졸리운_곰 2014.01.25 2476
78 [ORACLE] NVL함수 & DECODE함수 졸리운_곰 2014.01.25 2469
77 ※ Oracle 오라클 DECODE 함수 file 졸리운_곰 2014.01.25 2771
76 오라클 백업 및 복구(Datapump) 졸리운_곰 2014.01.25 2123
75 (Oracle) delete 복구 졸리운_곰 2014.01.25 2422
74 오라클 쿼리 복구 졸리운_곰 2014.01.25 3452
73 오라클 플래쉬백 사용하기(Flashback Query) 졸리운_곰 2014.01.25 2603
72 체크 제약조건 적용사례 졸리운_곰 2014.01.19 3169
71 유용한 오라클 쿼리 – 코멘트 조회 등 졸리운_곰 2014.01.02 4956
70 계층구조 쿼리의 활용 졸리운_곰 2014.01.02 3353
69 PL/SQL의 에러 처리방법 가을의곰을... 2013.12.27 4853
68 PL/SQL 예외 처리 가을의곰을... 2013.12.27 3376
» [PLSQL] 상수와 변수 가을의곰을... 2013.12.27 4442
66 ORCLE 문자열을 숫자로, 숫자를 문자로, TO_CHAR(), TO_NUMBER() 가을의곰을... 2013.12.27 4798
65 PL_SQL 1일차 file 가을의곰을... 2013.12.27 4528
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED