9.1 Procedural Extensions
PSM 은 확장된 것임 → 프로그램을 할 수 있도록
- SQL language 를 단일 문장으로 쓰는 경우는 거의 없다.
- SQL 문장을 통해서 프로그램을 짤 수 있도록
- function : 리턴값이 필요 / procedure : 리턴값 필요 없음
외부 언어 함수, 프로시저
- 장점 : 성능향상, 효율적 실행
- 단점 : 시스템 보안 문제
보안 문제
- 안전한 언어를 외부 함수로 작성 ( java , C# )
- 독립된 프로세스로 함수,프로시저 를 실행 → 결과를 IPC 로 주고 받는다.
- IPC : pipe, message, signal, shared memory
- 이러면 데이터 안전성이 높아짐
Stored Procedures
- 객체와 같이 관리된다.
- 네트워크 부하 감소
- 사용권한과 데이터 권한 분리 → 미권한 데이터도 접근 가능
9.2 SQL : 1999 함수, 프로시저
SQL Functions
Create function profC(deptName varchar(20)) returns integer
begin
Declare pCount integer;
Select count(*) into pCount
from professor
where professor.deptName = profC.deptName;
Return pCount;
end;
Table Functions