리눅스환경 개발/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문 작성 후PREPAREEXECUTE명령에 의해 실행함 / SQL문은 QUERY문이 아니어야 하고, 여기에서 사용된 호스트 변수는 프리컴파일 시점에는 데이터 타입과 위치는 정해져 있어야함

 

Method 3

호스트 변수와 SELECT컬럼이 정해진 QUERY문인 경우

Dynamic SQL문 작성 후 PREPARE” “DECLAER” “OPEN” “FETCH” “CLOSE와 같은 커서 명령으로 실행

SELECT-LIST와 입력 호스트 변수의 데이터타입과 위치는 프리컴파일 시점에서는 정해져야 하며,  QUERY문이어야 함.