제 4장. sql 활용
- START WITH : 계층 구조 관계의 시작 위치를 지정하는 구문.( + 루트 노드의 LEVEL 값은 1부터)
- CONNECT BY [PRIOR] A AND B
-PRIOR 자식 = 부모 : 순방향 전개
-PRIOR 부모 = 자식 : 역방향 전개- ORDER SIBLINGS 컬럼 : 형제 노드(동일 LEVEL)사이에서 정렬을 수행
그룹 함수를 활용하여 특정 집합의 소계, 총계, 총 합계를 구할 수 있다.
ROLLUP: 소 그룹간의 소계를 계산하는 기능. 인자의 순서가 중요함.
CUBE : 다차원적인 소계를 계산하는 기능. 시스템에 많은 부담을 준다.
GROUPING SETS : 특정 항목에 대한 소계를 계산하는 기능
분석함수로 알려져 있으며, 행과 행간의 관계에서 다양한 연산 처리를 할 수 있게한다.
중첩하여 호출될 수 없다.
일반적인 개발언어처럼 SQL문도 절차지향적인 프로그램 작성이 가능하도록 절차형 SQL을 제공한다.
오라클 기준으로 절차형 모듈의 종류는 프로시저, 사용자 정의 함수, 트리거가 존재한다.
오라클 기준으로 절차형 모듈을 PL/SQL 이라고 부른다.
Block 구조로 되어있으며, 각 기능별로 모듈화가 가능하다.
PL/SQL은 오라클에 내장시킬 수 있으므로 어떠한 오라클 서버로도 이식이 가능하다.
1- 프로시저
CREATE PROCEDURE 문법 사용
EXECUTE/EXEC 명령어로 실행
내부에서 COMMIT, ROLLBACK 실행가능
2- 트리거
CREATE TRIGGER 문법 사용
생성 후 자동으로 실행
내부에서 COMMIT, ROLLBACK 실행 불가능