티스토리 뷰

Oracle

Syntax Diagram을 읽는 방법

Su-Dong, Han 2007. 11. 2. 10:22
Syntax Diagram을 읽는 방법

  * Syntax Diagram에는 graphic과 text 형태가 있다.
  * 여기에서는 Graphic Syntax Diagram을 설명한다.
 

  syntax diagram은 SQL의 문법을 나타낸다. syntax diagram은 왼쪽에서 오른쪽으로 화살표 방향으로
  읽는다. 각종 키워드는 사각형 안에서 대문자로 표시한다. 파라미터 값들은 타원형(oval) 안에서
  소문자로 표시한다. 연산자, 구분자, 콤마 등은 원(circle) 안에 표시한다.

  화살표의 경로가 여러 개로 나누어질 경우, 어떤 경로든지 선택할 수 있다.
  따라서 아래와 같은 경우, NOPARALLEL 혹은 PARALLEL을 선택할 수 있다.

  parallel_clause::=

 


  여러 개의 키워드나, 연산자, 파라미터를 선택할 수 있는 경우에는 아래와 같이 표시한다.
  즉, 아래에서 가능한 화살표의 경로를 따라 이동해 보면 PCTFREE를 선택한 후에 화살표를 따라 되돌아 와서
  PCTUSED를 다시 선택할 수 있다.

  physical_attributes_clause::=

 

  따라서, PCTFREE 10 PCTUSED 30 은 유효한 문장이다.  

 
  아래 표는 syntax diagram에 나타나는 파라미터들과 예제를 보여준다.
  
 파라미터  설명  예제
 table  table, view등과 같은 object명  employees
 c  한 개의 문자  T
 'text'  문자열  'Employee records'
 char  CHAR, VARCHAR2와 같은 문자타입의 표현식  last_name
 'Smith'
 condition  TRUE, FALSE로 평가되는 조건식  last_name > 'A'
 date
 d
 날짜 상수 혹은 date타입의 표현식  to_date
 (sysdate,'YYYYMMDD')
 expr  모든 datatype의 표현식  salary+10000
 integer  정수(integer)  72
 number
 m
 n
 number타입 혹은 숫자 상수  AVG(salary)

 15 * 7
 raw  raw타입의 표현식  HEXTORAW('7D')
 subquery  서브쿼리(subquery)  SELECT last_name
 FROM employees
 db_name  database명  sales_db
 db_string  Oracle Net connection을 위한 database string  


  필수적인 키워드와 파라미터

  반드시 필요한 키워드나 파라미터는 화살표를 따라 경로를 이동할 때, 반드시 한 번은 선택하게 된다.
  예를 들어 아래 diagram에서 library_name은 필수적인 항목이다.

  drop_library::=

 

  따라서, hq_lib라는 이름의 library가 있을 경우, 아래 문장은 유효하다.

  DROP LIBRARY hq_lib;


  화살표의 경로가 여러 개로 나뉘어질 경우, 하나의 경로만을 선택할 수 있다.
  따라서 이 경우, 여러 개의 키워드나 파라미터 중, 하나만을 선택한다.

  key_compression::=

 

 
  선택적인 키워드와 파라미터

  키워드나 파라미터가 화살표의 주경로위에 리스트로 나타날 경우, 선택항목임을 나타낸다.
  아래에서 보듯이, 화살표의 주경로를 따라서 계속 이동할 수도 있고, 선택항목인 KEEP size_clause를
  선택할 수도 있다.

  deallocate_unused_clause::=

 

  size_clause::=

 

  위의 그림에 따르면, 아래의 모든 문장 표현이 가능하다.

  DEALLOCATE UNUSED;
  DEALLOCATE UNUSED KEEP 1000;
  DEALLOCATE UNUSED KEEP 10G;
  DEALLOCATE UNUSED 8T;

 
  루프(loop)

  루프가 나타나는 곳은 원하는 만큼 반복해서 사용할 수 있다.
  아래 예제에서 표현식을 선택한 후에 경로를 따라 되돌아 와서 여러번 선택할 수 있다.(콤마(,)로 분리)

  query_partition_clause::=

 

 
  Multipart Diagrams

  Multipart Diagram은 하나의 화살표 경로로 표현하기에 너무 긴 표현을 여러 개의 화살표 경로로
  나누어서 나타낸 것이다. 끊어진 화살표 경로는 아래 화살표 경로에서 계속 이어진다.
  아래 예제는 3개의 부분으로 나누어진 diagram이다.

  alter_java::=

 

  위의 그림에 따르면, 아래의 문장 표현이 가능하다.

  ALTER JAVA SOURCE jsource_1 COMPILE;
  

  References

  1. Oracle Database SQL Reference 10g Release 2 (10.2) - Graphic Syntax Diagrams
  - http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200/ap_syntx001.htm

  Document History

  최초등록: 2006-04-18
  1차 수정: 2006-04-18
  

  * 이 문서의 내용에 관해서 잘못된 부분이 있거나 질문이 있으신 분은 답글로 알려주시기 바랍니다.
  * 이 문서를 다른 곳에 게재하실 분은 출처를 꼭 밝혀주시기 바랍니다.


출처 : http://www.soqool.com/servlet/board?cmd=view&cat=100&subcat=1020&seq=8  by 김홍선
댓글