关于多用户同时修改一个表的问题 有一个过程对一个表insert,可能时间很长,这时如果另一个用户要对表进行update操作时,好象要等到先前的过程执行完毕后,才能对表进行update,请问有方法让两个用户同时修改同一个表吗?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 需要使用时间戳.insert into tbl() valeus(....,sysdate)update tbl where u_date > sysdate 时间戳???能说详细 点吗?-- 就是在表中增加一个时间字段,用于存放insert时的时间. 其他用户只需根据这个字段,来判断是否是否进行update. 但现在我测试时发现只要我的过程在运行,别的用户就不能执行修改的操作,好象是oracle把整个表lock了啊!!!oracle默认的是可以多个人同时修改同一个表吗? insert 1条就 commit 1条记录.不要等到全部 insert 完,再commit. 但我的过程是在trigger中调用的,不能commit啊!!! 但我的过程是在trigger中调用的,不能commit啊!!!--你都没有commit,别人怎么update? 但是连以前的都不能update了,现在只要想办法能够update以前的data 那可能过程中加锁了,如: select * from tbl for update 没有啊,我的是insert,另一个用户要update 在insert,update,delete的时候,系统好象会把表暂时锁定,.等待操作执行后或取消操作才可以进行下一个DML的操作, 最好不用触发器,虽说省事,可效率并不是很高,而且容易使数据库系统崩溃.个人建议改用程序处理,以共享方式打开表,这样不会影响他人的操作(Update,delete)! 同意tang800710意见。触发器尽量做少一点、更独立一点的工作。 肯定是你程序的问题,或者数据库初始化参数有问题oracle的行锁保证只要两个会话不同时修改同一行数据,就不会发生等待(阻塞)。你所描述的现象在sqlserver中很常见 ORACLE-》EM按键显示为□□□□ 获得外键名称 如何在SQL文件中访问另一个数据库的表? 求助:怎么判断一个表是否有主键? Oracle的导出---急 TRUNCATE 表后,表空间使用不减少,怎么办? 创建数据库发生从未碰到过的问题,请帮忙看一下 如何用sql查询出某个月的第一天,和最后一天 急!找ORACLE单机版 大数据表关联查询效率慢的问题 oracle数据库中的数据导入sql-server中(韩文乱码),顶者有分 寻求评估SQL代价的办法
insert into tbl() valeus(....,sysdate)update tbl
where u_date > sysdate
-- 就是在表中增加一个时间字段,用于存放insert时的时间.
其他用户只需根据这个字段,来判断是否是否进行update.
不要等到全部 insert 完,再commit.
--你都没有commit,别人怎么update?
触发器尽量做少一点、更独立一点的工作。