sqlDataCode
sqlDataCode 특성은 EGL 유형과 SQL 유형 사이에 VisualAge® Generator로부터 마이그레이션된 코드를 위한 맵핑을 제공합니다.
EGL 시스템 코드는 EGL 유형과 SQL 유형 사이에 기본 맵핑을 가정합니다. 시스템 코드는 선언 시간, 유효성 검증 시간 및 런타임에 맵핑을 사용합니다. 맵핑을 나타내는 표는 "SQL 테이블 데이터 검색"을 참조하십시오.
DB2®에서 이 기본 맵핑을 대체하려면 SQL 필드 레벨 sqlDataCode 특성을 사용할 수 있습니다. VisualAge Generator로부터 마이그레이션된 필드에는 현재 EGL 데이터 유형과 동등한 유형이 없는 경우가 많으므로 이 특성이 필수입니다. 이 특성은 주로 이전 제품 버전과의 호환성을 위해 유지보수됩니다.
예를 들어, EGL SQL 레코드에 HEX 필드가 있고 데이터베이스 테이블의 동등한 필드가 SQL INTERGER라고 가정하십시오.
데이터를 가져와서 올바르게 맵핑하려면 EGL 필드의 sqlDataCode 특성을
적절한 SQL 데이터 유형을 식별하는 숫자로 설정하십시오. SQL INTEGER의 코드는 497입니다.
Record ExampleSQLRecord type SQLRecord
myHexVar HEX(8) {sqlDataCode = 497}; // matches SQL INTEGER
end
다음 표는 DB2에서 다양한 SQL 데이터 유형을 위한 sqlDataCode 값을 나타냅니다.
| SQL 데이터 유형 | sqlDataCode |
|---|---|
| BIGINT | 492, 493 |
| BIT | DB2에서 해당사항 없음 |
| BLOB | 404, 405 |
| BOOLEAN | DB2에서 해당사항 없음 |
| CHAR | 452, 453 |
| CLOB | 408, 409 |
| DATE | 384, 385 |
| DECIMAL | 484, 485 |
| DOUBLE | 480, 481 |
| FLOAT | 480, 481 |
| GRAPHIC | 468, 469 |
| INTEGER | 496, 497 |
| LONG VARBINARY | 480, 481 |
| LONG VARCHAR | 456, 457 |
| LONG VARGRAPHIC | 472, 473 |
| NUMERIC | 484, 485 |
| REAL | 480, 481 |
| SMALLINT | 500, 501 |
| TIME | 388, 389 |
| TIMESTAMP | 392, 393 |
| VARBINARY | 480, 481 |
| VARCHAR | 448, 449 |
| VARGRAPHIC | 464, 465 |
각 수 쌍의 첫 번째는 NOT NULL으로 정의된 열을 나타냅니다. 변수가 널 입력 가능인지 판별하기 위해 EGL 시스템 코드는 SQL 데이터 코드가 아니라 ? 수정자 또는 isSQLNullable 특성에 의존합니다.