SQL programming / SQL portability |
Automatic ROWIDs is not a common database feature.
Rowids are implicit primary keys generated by the database engine. Not all database servers support rowids:
Database Server Type | Rowid keyword? | Rowid type? |
---|---|---|
IBM® DB2® UDB | none | none |
IBM Informix® (1) | ROWID | INTEGER |
Microsoft™ SQL Server (2) | none | none |
MySQL | none | none |
Oracle Database Server | ROWID | CHAR(18) |
PostgreSQL | OID | internal type |
Sybase ASE | none | none |
SQLite | ROWID | BIGINT |
Informix fills the SQLCA.SQLERRD[6] register with the ROWID of the last updated row. This register is an INTEGER and cannot be filled with rowids having CHAR(*) type.
Search for ROWID and SQLCA.SQLERRD[6] in your code and review the code to remove the usage of rowids.