본문 바로가기
IT/C++

Pro*C 호스트변수, 표지변수

by Spring Up!! 2024. 6. 24.
반응형

Pro*C 의 변수에는 호스트 변수와 표지 변수가 있다. 표지변수는 무엇일까? Pro*C 를 처음접한지 3년 정도 되었는데, 표지변수라는 말은 오늘 처음들었다;

표지 변수는 호스트 변수에 1:1로 대응하는 변수로 호스트 변수의 값이 'NULL' 인지 아닌지를 확인하는 변수이며, 호스트 변수 혹은 데이터베이스에 임의로 'NULL'을 할당할 때도 사용됩니다.

표지변수의 사용 조건
- 2바이트로 선언
- NULL 값을 처리하고 SQL 문장 절단을 발견하기 위해 사용됩니다
- NULL 값은 -1 로 나타냅니다. NULL 지정을 원치 않으면 값을 '0'으로 설정합니다.
- SQL 문장에서 지시자 변수 앞에 콜론을 붙이고 지시자 변수를 호스트 변수뒤에 붙입니다. (예) 호스트 변수 : 지시자 변수
- INDICATOR ALIAS 사용
(예) EXEC SQL SELECT empno INTO :empno INDICATOR :i_empno FROM 테이블;
- NVL 대신 사용하면 성능을 높일 수 있다.

반응형

댓글