부록 C. 동적 SQL의 메소드 4 사용#
이 부록은 사용자가 프로그램 실행 시에 파라미터 마커의 값에 입력할 수 있는 동적 SQL의 메소드4를 사용할 시 참조한다.
SQLDA 구조체의 데이터 타입#
SQLDA 구조체는 동적SQL의 메소드4에서 사용된다. 이 구조체에서 데이터 타입을 정의하는 변수(short *T)에 대한 Internal 및 External데이터 타입을 설명한다.
SQLDA 구조체#
struct SQLDA
{
int N; /* 명령을 실행할 column의 개수 */
char **V; /* 데이터 주소 */
int *L; /* 각 데이터 buffer 길이 */
short *T; /* 각 데이터 type */
short **I; /* indicator 주소 */
int F; /* 분석된 column 개수 */
}
Internal 데이터 타입#
DB DataType | Code | CLI type |
---|---|---|
CHAR | 1 | SQL_CHAR |
VARCHAR | 12 | SQL_VARCHAR |
DECIMAL | 3 | SQL_DECIMAL |
NUMERIC | 2 | SQL_NUMERIC |
SMALLINT | 5 | SQL_SMALLINT |
INTEGER | 4 | SQL_INTEGER |
BIGINT | -5 | SQL_BIGINT |
REAL | 7 | SQL_REAL |
FLOAT | 6 | SQL_FLOAT |
DOUBLE | 8 | SQL_DOUBLE |
External 데이터 타입#
External DataType | Code | C DataType |
---|---|---|
SQLDA_TYPE_CHAR | 1 | char, char[] |
SQLDA_TYPE_VARCHAR | 2 | char, char[] |
SQLDA_TYPE_SSHORT | 3 | short |
SQLDA_TYPE_SINT | 4 | int |
SQLDA_TYPE_SSHORTINT | 5 | short int |
SQLDA_TYPE_SINTSHORT | 6 | int short |
SQLDA_TYPE_SLONGINT | 7 | long int |
SQLDA_TYPE_SLONG | 8 | long |
SQLDA_TYPE_SLONGLONG | 9 | long long |
SQLDA_TYPE_SLONGLONGINT | 10 | long long int |
SQLDA_TYPE_DOUBLE | 11 | double |
SQLDA_TYPE_FLOAT | 12 | float |
SQLDA_TYPE_USHORT | 13 | unsigned short |
SQLDA_TYPE_UINT | 14 | unsigned int |
SQLDA_TYPE_USHORTINT | 15 | unsigned short int |
SQLDA_TYPE_UINTSHORT | 16 | unsigned int short |
SQLDA_TYPE_ULONGINT | 17 | unsigned long int |
SQLDA_TYPE_ULONG | 18 | unsigned long |
SQLDA_TYPE_ULONGLONG | 19 | unsigned long long |
SQLDA_TYPE_ULONGLONGINT | 20 | unsigned long long int |
SQLDA_TYPE_DATE | 21 | SQL_DATE_STRUCT |
SQLDA_TYPE_TIME | 22 | SQL_TIME_STRUCT |
SQLDA_TYPE_TIMESTAMP | 23 | SQL_TIMESTAMP_STRUCT |