C#,Delphi,Oracle,MSSQL 개발자블로그

[Oracle/기본]17. 실행 문장 작성 본문

Programming/Oracle 공부

[Oracle/기본]17. 실행 문장 작성

19760323 2017. 5. 31. 16:13

- 리터럴

  문자와 날짜 리터럴은 단일 인용 부호(')에 둘러 싸여져야 한다.

  Ex. v_ename := 'Henderson';

 

  숫자 리터럴은 단순 값 또는 과학적인 표기법에 의해 표현될 수 있다.

  Ex. 단순 값 : -32.5

      과학적인 표기법 : 2E5, 2*10  (이 때, 2E5 = 200000를 의미 한다.)

 

- PL/SQL에서 SQL 함수

☞ 사용가능 : 단일 행 숫자

                  단일 행 문자

                  데이터형 변환

                  날짜

                  Ex. v_ename := LOWER(v_ename);           

     

    사용 불가 : GREATEST

                   LEAST

                   DECODE

                   그룹함수(AVG, MIN, MAX, COUNT, SUM, STDDEV, VARIANCE)

 

                   Ex. v_total := SUM(number_table);

                   위 예는 그룹함수이기때문에 절차적언어인 PL/SQL에서는 사용이 불가능하다. 

 

● 중첩 블록과 변수 범위

 

Ex.

x BINARY_INTEGER;

BEGIN

...

    DECLARE

       y NUMBER;

    BEGIN

    ...

    END;

    ...

END;

 

- y로 명명된 변수는 x로 명명된 변수를 참조할 수 있다.

  x로 명명된 변수는 y로 명명된 변수를 참조할 수 없다.

 

- 만약 변수 y가 외부 블록의 변수 x 와 동일한 이름으로 주어지면 변수 y의 값은 중첩 블록의 안에서만 유효하다.

 

● 바인드 변수 사용 (:변수)

 

바인드 변수는 PL/SQL 블록의 선언 부분이 아니라 호스트 환경에서 생성된다. 따라서 HOST변수라고도 한다.

 

DECLARE

   v_sal emp.sal%TYPE;

BEGIN

   SELECT sal

   INTO v_sal

   FROM emp

   WHERE empn- = 7369;

   :salary := v_sal;

END;

 

v_sal :   호스트변수, 호스트란 보통 서버를 말한다.

:salary : 바인드변수, 로컬에서 PRINT로 찍어서 출력할 때 사용한다.

 

 

 

  

Comments