리눅스환경 개발/PRO*C
[PRO*C] Dynamic sql (method 1~3)
정데브
2022. 2. 23. 13:16
Method 1
QUERY문이 아니면서 호스트 변수가 없는 경우
Dynamic SQL문을 작성하고 “EXECUTE IMMEDIATE”를 이용하여 즉시 실행함/ SQL문은 QUERY문이 아니어야 하고,
입력용 호스트 변수가 존재하지 않아야 함 ( SQL문이 매번 실행될 때마다 PARSING )
Method 2
QUERY문이 아니면서 호스트 변수가 정해지지 않은 경우
Dynamic SQL문 작성 후 “PREPARE” 와 “EXECUTE” 명령에 의해 실행함 / SQL문은 QUERY문이 아니어야 하고, 여기에서 사용된 호스트 변수는 프리컴파일 시점에는 데이터 타입과 위치는 정해져 있어야함
Method 3
호스트 변수와 SELECT컬럼이 정해진 QUERY문인 경우
Dynamic SQL문 작성 후 “PREPARE” “DECLAER” “OPEN” “FETCH” “CLOSE” 와 같은 커서 명령으로 실행
SELECT-LIST와 입력 호스트 변수의 데이터타입과 위치는 프리컴파일 시점에서는 정해져야 하며, QUERY문이어야 함.