Die Eigenschaft 'sqlDataCode' stellt Zuordnungen zwischen EGL-Typen und SQL-Typen für Code bereit, der von VisualAge Generator migriert wurde.
Der EGL-Systemcode nimmt eine Standardzuordnung zwischen EGL-Typen und SQL-Typen an. Der Systemcode verwendet die Zuordnung zur Deklarationszeit, zur Auswertungszeit und zur Laufzeit. Eine Tabelle mit den Zuordnungen finden Sie unter 'SQL-Tabellendaten abrufen'.
Um diese Standardzuordnung in DB2 zu überschreiben, können Sie die SQL-Eigenschaft 'sqlDataCode' auf Feldebene verwenden. Diese Eigenschaft war in Code erforderlich, der von VisualAge Generator migriert wurde, da in diesem Code Entsprechungen für viele aktuelle EGL-Datentypen fehlten. Die Eigenschaft wird hauptsächlich zwecks Kompatibilität mit früheren Produktversionen verwaltet.
Record ExampleSQLRecord type SQLRecord
myHexVar HEX(8) {sqlDataCode = 497}; // entspricht dem SQL-Typ INTEGER
end
Die folgende Tabelle zeigt sqlDataCode-Werte in DB2 für die verschiedenen SQL-Datentypen.
| SQL-Datentyp | sqlDataCode |
|---|---|
| BIGINT | 492, 493 |
| BIT | In DB2 nicht zutreffend |
| BLOB | 404, 405 |
| BOOLEAN | In DB2 nicht zutreffend |
| 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 |
Die erste Zahl jedes Zahlenpaars stellt eine Spalte dar, die als NOT NULL (nicht auf null gesetzt) definiert ist. Um zu bestimmen, ob eine Variable nullfähig ist, verwendet der EGL-Systemcode den Änderungswert '?' oder die Eigenschaft 'isSQLNullable', nicht den SQL-Datencode.