더북(TheBook)

④ 결과 선택 컬럼 정의

DBMS_SQL에서는 동적 SQL문을 실행한 다음 SELECT 리스트의 컬럼 값을 받아올 수 있는데, 이를 위해서는 가져올 값에 해당하는 컬럼을 미리 정의해야 하며 이 역할을 하는 것이 바로 DEFINE_COLUMN 프로시저다. DEFINE_COLUMN 프로시저 역시 2가지 형태가 있다.

컬럼 타입이 문자형이 아닐 경우

    DBMS_SQL.DEFINE_COLUMN (
         c        IN INTEGER,
         position IN INTEGER,
         column   IN <datatype>);

컬럼 타입이 문자형일 경우

    DBMS_SQL.DEFINE_COLUMN (
         c           IN INTEGER,
         position    IN INTEGER,
         column      IN VARCHAR2 CHARACTER SET ANY_CS,
         column_size IN INTEGER);

c: 파싱할 문장에 대한 커서 ID.

position: SELECT 리스트의 컬럼 위치를 나타내는데 SELECT 키워드를 기준으로 왼쪽부터 1에서 시작. 예를 들어, 세 번째 컬럼일 때는 3.

column: 컬럼 값을 받을 변수를 명시한다.

column_size: 문자형 컬럼이면 해당 컬럼의 문자열 길이를 명시한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.