SQL 설명자 영역은 다음을 위한 보다 정교한 방법입니다. a의 결과를 처리하는 중선택또는가져오기성명. SQL 설명자 영역 한 행의 데이터를 메타데이터 항목과 함께 그룹화합니다. 하나의 데이터 구조로. 메타데이터는 다음과 같은 경우에 특히 유용합니다. 동적 SQL 문을 실행합니다. 여기서 결과의 성격은 다음과 같습니다. 열은 미리 알려지지 않을 수 있습니다.
SQL 설명자 영역은 다음을 포함하는 헤더로 구성됩니다. 전체 설명자에 관한 정보 및 하나 이상의 기본적으로 각각 하나의 열을 설명하는 항목 설명 영역 결과 행에 표시됩니다.
SQL 설명자 영역을 사용하기 전에 다음을 수행해야 합니다. 하나를 할당하십시오:
EXEC SQL 할당 설명자식별자;
식별자는 다음 역할을 합니다."변수 이름"11466_11564
EXEC SQL 할당 해제 설명자식별자;
설명자 영역을 사용하려면 다음에서 저장 대상으로 지정하십시오. anINTO절, 호스트 나열 대신 변수:
EXEC SQL은 mycursor에서 설명자 mydesc로 다음 항목을 가져옵니다.
이제 설명자 영역에서 데이터를 어떻게 가져오나요? 당신 설명자 영역을 이름이 지정된 구조로 생각할 수 있습니다. 필드. 헤더에서 필드 값을 검색하려면 호스트 변수에 저장하려면 다음 명령을 사용하십시오.
EXEC SQL GET 설명자이름 :hostvar = 필드;
현재 정의된 헤더 필드는 단 하나뿐입니다:개수, 항목 설명자가 몇 개인지 알려줍니다. 영역이 존재합니다(즉, 해당 영역에 얼마나 많은 열이 포함되어 있는지). 결과). 호스트 변수는 정수 유형이어야 합니다. 얻으려면 항목 설명 영역의 필드를 사용하려면 다음을 사용하세요. 명령:
EXEC SQL GET 설명자이름값num :hostvar = 필드;
num리터럴 정수일 수 있음 또는 정수를 포함하는 호스트 변수입니다. 가능한 분야 다음은:
결과 세트의 행 수
실제 데이터 항목(따라서 이 필드의 데이터 유형 쿼리에 따라 다름)
?
구현되지 않음
표시기(널 값 또는 값을 나타냄) 잘림)
구현되지 않음
문자 단위의 데이텀 길이
열 이름
구현되지 않음
데이텀의 문자 표현 길이 바이트
정밀도(유형용숫자)
문자 단위의 데이텀 길이
데이텀의 문자 표현 길이 바이트
규모(유형용숫자)
컬럼의 데이터 유형에 대한 숫자 코드