C#,Delphi,Oracle,MSSQL 개발자블로그
[Oracle/기본]17. 실행 문장 작성 본문
- 리터럴
문자와 날짜 리터럴은 단일 인용 부호(')에 둘러 싸여져야 한다.
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로 찍어서 출력할 때 사용한다.
'Programming > Oracle 공부' 카테고리의 다른 글
[Oracle/기본]19. 제어 구조 작성 (0) | 2017.05.31 |
---|---|
[Oracle/기본]18. 오라클 서버와 대화 (0) | 2017.05.31 |
[Oracle/기본]16. PL-SQL 변수 선언 (0) | 2017.05.31 |
[Oracle/기본]15. SQL 제약조건 별 CREATE TABLE 예제. (0) | 2017.05.31 |
[Oracle/기본]14. 사용자 접근 제어 (0) | 2017.05.24 |