The correlation name of a table used in the query. The correlation name should refer to a base table, a temporary table, a
global temporary table or a proxy table (permitted only when the underlying proxy server supports a similar function). The
argument of the ROWID function should not refer to a view, derived table, common table expression or a procedure.
Returns the row identifier of the row in the table corresponding to the given correlation name.
The value returned by the function is not necessarily constant between queries as various operations performed on the database
may result in changes to the row identifiers of a table. In particular, the REORGANIZE TABLE statement is likely to result
in changes to row identifiers. Additionally, row identifiers may be reused after a row has been deleted. So, users should
refrain from using the ROWID function in ordinary situations; retrieval by primary key value should be used instead. It is
recommended that ROWID be used only in diagnostic situations.
Although the result of this function is an UNSIGNED BIGINT, the results of most arithmetic operations on this value have no
particular meaning. For example, you should not expect that adding one to a row identifier will give you the row identifier
of the next row. Also, only equality and IN predicates are sargable if they involve the use of ROWID. If necessary, predicates
involving ROWID, such as ROWID( T ) = literal, may be used to cast to a 64-bit UNSIGNED INTEGER value. If the conversion cannot be performed a data exception will occur.
If the value of literal is an invalid row identifier then the comparison predicate evaluates to FALSE.
The ROWID function cannot be used inside a CHECK constraint on either a table or a column, nor can it be used in the COMPUTE
expression for a computed column.