For an application that needs row-level locks, Firebird offers it in its SELECT statement. The WITH ...