Oracle 新手问答
- 存储过程中,return后,如果没有写明提交(commit)或回滚(rollback),会默认提交吗?
答:不会。如果修改了数据,又没有写明,则会将数据锁定在那里! - 存储过程中,调用子存储过程异常时,在捕获异常中rollback后,还会继续执行吗?
答:会。返回主存储过程,继续执行。 - 对于同时发送的两个线程同时执行一个存储过程,应怎样控制数据的一致性?
答:如果是修改,则加锁。如果是插入数据,则必须建唯一索引或者复合索引。 - 对同一条记录的多次锁定会不会出现问题?
答:如果是同一个session则不会,一般如果是同一个存储过程或者函数,都不会出现问题。