이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.Postgre와이즈 토토 : 문서 : 17 : 34.7. 설명자 영역 사용버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

31.10. SQL 설명자 영역 사용

SQL 설명자 영역은 다음을 위한 보다 정교한 방법입니다. a의 결과를 처리하는 중선택또는가져오기문장. SQL 설명자 영역 한 행의 데이터를 메타데이터 항목과 함께 그룹화합니다. 하나의 데이터 구조로. 메타데이터는 다음과 같은 경우에 특히 유용합니다. 동적 SQL 문을 실행합니다. 여기서 결과의 성격은 다음과 같습니다. 열은 미리 알려지지 않을 수 있습니다.

SQL 설명자 영역은 다음을 포함하는 헤더로 구성됩니다. 전체 설명자에 관한 정보 및 하나 이상의 기본적으로 각각 하나의 열을 설명하는 항목 설명 영역 결과 행에 표시됩니다.

SQL 설명자 영역을 사용하기 전에 다음을 수행해야 합니다. 하나를 할당하십시오:

EXEC SQL 할당 설명자식별자;

식별자는 다음 역할을 합니다."변수 이름"11464_11562

EXEC SQL 할당 해제 설명자식별자;

설명자 영역을 사용하려면 다음에서 저장 대상으로 지정하십시오. anINTO절, 호스트 나열 대신 변수:

EXEC SQL은 mycursor에서 설명자 mydesc로 다음 항목을 가져옵니다.

이제 설명자 영역에서 데이터를 어떻게 가져오나요? 당신 설명자 영역을 이름이 지정된 구조로 생각할 수 있습니다. 필드. 헤더에서 필드 값을 검색하려면 호스트 변수에 저장하려면 다음 명령을 사용하십시오.

EXEC SQL GET 설명자이름 :hostvar = 필드;

현재 정의된 헤더 필드는 단 하나입니다:COUNT, 항목 설명자가 몇 개인지 알려줍니다. 영역이 존재합니다(즉, 해당 영역에 얼마나 많은 열이 포함되어 있는지). 결과). 호스트 변수는 정수 유형이어야 합니다. 얻으려면 항목 설명 영역의 필드를 사용하려면 다음을 사용하세요. 명령:

EXEC SQL GET 설명자이름num :hostvar = 필드;

num리터럴 정수일 수 있음 또는 정수를 포함하는 호스트 변수입니다. 가능한 분야 다음은:

카디널리티(정수)

결과 집합의 행 수

데이터

실제 데이터 항목(따라서 이 필드의 데이터 유형 쿼리에 따라 다름)

DATETIME_INTERVAL_CODE(정수)

?

DATETIME_INTERVAL_PRECISION(정수)

구현되지 않음

표시기(정수)

표시기(널 값 또는 값을 나타냄) 잘림)

KEY_MEMBER(정수)

구현되지 않음

길이(정수)

문자 단위의 데이텀 길이

이름(문자열)

열 이름

NULL 가능(정수)

구현되지 않음

OCTET_LENGTH(정수)

데이텀의 문자 표현 길이 바이트

정확성(정수)

정밀도(유형용숫자)

RETURNED_LENGTH(정수)

문자 단위의 데이텀 길이

RETURNED_OCTET_LENGTH(정수)

데이텀의 문자 표현 길이 바이트

규모(정수)

규모(유형용숫자)

TYPE(정수)

컬럼의 데이터 유형에 대한 숫자 코드