Louis, That's some clever get/set_context usage.
With regards, Martijn Tonies Upscene Productions http://www.upscene.com Download Database Workbench for Oracle, MS SQL Server, Sybase SQL Anywhere, MySQL, InterBase, NexusDB and Firebird! cast(rdb$get_context('USER_TRANSACTION', 'row#') as integer) as row_number, rdb$set_context('USER_TRANSACTION', 'row#', coalesce(cast(rdb$get_context('USER_TRANSACTION', 'row#') as integer), 0) + 1), < other columns> from MY_TABLE