④ 결과 선택 컬럼 정의

    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: 문자형 컬럼이면 해당 컬럼의 문자열 길이를 명시한다.

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