>> 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.
Yes, and I like the fact that the UPDATE first approach eliminates a local variable declaration as well! ~Berend Tober ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend