• I only use this kind of thing where we are synchronising process that rely one thing to complete before another can start. I wouldn't use it to enforce transactional integrity and concurrency within a database as (as you say) SQL does a much better job of this than we can!