PL/SQL 에서 변수의 의미와 사용법
1. PL/SQL
1.변수
= 스칼라 변수 no NUMBER, name VARCHAR2(34)
= %TYPE -> 실제 테이블에 존재하는 데이터형을 읽어 온다
emp
empno NUMBER(4)
vempno NUMBER(4)
emp.empno%TYPE
= CURSOR -> 여러개의 레코드를 모아서 갖고 올때 사용한다.
(ResultSet 과 매칭 됨)
2. 제어문, 연산자
= 연산자
1) 산술연산자 +, -, *, / -> MOD ( 숫자, 나머지) -> MOD (10,2) = 0
% 는 사용 불가능
2) 비교 연산자 =, !+(<>,^=) < , > , <= , >=
3) 논리 연산자 AND, OR, NOT
NOT BETWEEN 1 AND 10, NOT LIKE, NOT IN
4) BETWEEn AND ( 기간, 범위 )
5) IN
6) LIKE
= 제어문
조건문
반복문
LOOP
반복처리
END LOOP;
WHILE (조건) LOOP
처리
증가식 ++(X) a=a+1
END LOOP;
FOR 변수 IN [REVERSE] lo.. hi LOOP
처리
END LOOP;
DECLARE -> CREATE PROCEDURE, CREATE FUNCTION, CREATE TRIGGER
BEGIN
처리
END;
/
1. PROCEDURE
리턴형 이 없는 함수
DML, 페이징 처리, 보안, 캐시메모리에 저장 속도가 빠르다
트랜잭션 제어
CREATE [OR REPLACE] PROCEDURE por_name(
매개변수
* in : SQL 문장 실행시 필요한 데이터
WHERE, INSERT, UPDATE, DELETE
* out : SQL 문장 실행 결과 값 을 갖고 올때
SELECT
IS / AS
변수선언
BEGIN
SQL 구현
2. FUNCTION
리턴형이 있는 함수
JOIN , SUBQUERY 대신 처리 (복잡한 쿼리 문장 처리)
CREATE [OR REPLACE] FUNCTION func_name(
매개변수 (out 변수가 존재하지 않는다)
) RETURN 데이터형
IS / AS
변수 선언
BEGIN
구현
RETURN 결과값
END;
/
<c 언어>
int a;
일반 변수 [ in ] 자바에서는 일반 데이터형 // CALL BY VALUE
int* a;
주소 변수 [ out ] 자바에서는 클래스, 배열 // CALL BY REFERENCE