执行一个出仓的操作该如何写?平时我是这么写的,首先看看剩余数量select shengyu into temp from table1 where mid=xxx;如果大于指定数量那么执行出仓if temp >= 100 then
    update table1 set shengyu=shengyu-100 where mid=xxx;
    commit;
end if;但是如果这些语句并发执行的话,应该是有可能出错的,当剩余100时,两个事务同时去select,那么temp都大于等于100,于是都减去100,那剩余就小于0了,与事实不符。我的想法是,当我select时就应该将记录锁住,不让其他的事务去读该记录,只有当该事务完毕之后才释放锁。
但不知道怎么写啊,请各位指教。