In Class/PL_SQL

PL/SQL 에서 변수의 의미와 사용법

산과잔 2020. 11. 12. 14:39

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

텐핑