db_get_last_serial()
Retrieves the last generated serial for a given serial emulation and database table.
Syntax
db_get_last_serial(
emultype STRING,
tabname STRING )
RETURNS BIGINT
- emultype is the serial emulation type (
"native","native2","regtable","trigseq"). - tabname is the name of the database table (case senstitive, use lowercase).
Usage
This function executes the SQL query to retrieve the last generated auto-incremented columns, for the given serial emulation type and database table.
This function must be used after an INSERT statement producing a new serial
value, especially when the serial is based on the BIGINT type (because
SQLCA.SQLERRD[2] can only hold INTEGER values).
Note:
When using this function, configure your connection to avoid the automatic retrieval of the last
generated serial to fill
SQLCA.SQLERRD[2], by setting the following FGLPROFILE
entry:dbi.database.dbname.ifxemul.datatype.serial.sqlerrd2 = falseExample
IMPORT FGL fgldbutl
MAIN
DEFINE ns BIGINT
DATABASE mydb
INSERT INTO mytable VALUES ( ns, 'a new sequence' )
LET ns = db_get_last_serial("native","mytable")
END MAIN