> What I need to know is whether or not this is multi-user safe, i.e., will
> the block of code in the procedure execute as a transaction so that if
> more than one clerk creates an expense report for the same employee
> simultaneously is it possible or impossible that value of the
> employee.expense_report_seq gets updated by the second clerk between the
> SELECT and UPDATE statements invoked by the first clerk?
>
> And as a follow-up, should I add the FOR UPDATE clause to the SELECT
> statement?
SELECT .. FOR UPDATE would be appropriate.
However, you could also do an update + 1 first and the select second to
find what you changed the value to.