AUTO_INCREMENT |
On Oracle 12c and later, an identity column, GENERATED BY DEFAULT, whose next value starts after the copied keys. On 11g the key stays a plain NUMBER. |
None: new rows inserted after the load get new keys. |
DEFAULT CURRENT_TIMESTAMP |
DEFAULT SYSTIMESTAMP. |
None. |
DECIMAL, integer types, BOOL |
NUMBER, keeping the precision and scale of a DECIMAL. |
A boolean becomes a 0 or 1 number. |
FLOAT, DOUBLE |
BINARY_FLOAT and BINARY_DOUBLE. |
None. |
DATETIME, DATE, TIME |
DATE. TIMESTAMP stays TIMESTAMP. |
An Oracle DATE keeps whole seconds; choose TIMESTAMP for fractions. Oracle has no time-of-day type, so a TIME value is stored as a DATE. |
VARCHAR(n) |
VARCHAR2(n CHAR), counted in characters, so non-Latin text fits. Over 4,000 characters, CLOB. |
Oracle still caps VARCHAR2 at 4,000 bytes. A longer value is refused and its row named. |
TEXT, MEDIUMTEXT, LONGTEXT |
TEXT becomes VARCHAR2(4000); the larger two become CLOB. |
Switch a TEXT column to CLOB in the review when it holds longer values. |
| Empty strings |
Loaded. An empty string bound for a NOT NULL column is written as a single NUL character so the row still loads. |
Oracle treats an empty string as NULL; check queries that compare with ''. |
| Lower-case names |
Created in Oracle's upper case, so queries work without quotes. |
Names longer than Oracle allows (30 characters before 12.2) are flagged before the run. |