关于多用户同时修改一个表的问题 有一个过程对一个表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数据库老是莫名其妙的丢数据为什么? 关于数据库当中跨用户建立触发器 除了PB,还有其他好的客户端吗? 如何启用Partition功能 ora-01034 oracle not available这种错误如何解决?100分相赠,不够再补 一个SQL语句的问题 初学者的一个问题,请高手讲一下原理 存储过程 请问一下,为什么我在虚拟机中安装oracle11g的时候,界面上的下一步,取消按钮一直在闪烁? oracle数据库中的数据导入sql-server中(韩文乱码),顶者有分 寻求评估SQL代价的办法
insert into tbl() valeus(....,sysdate)update tbl
where u_date > sysdate
-- 就是在表中增加一个时间字段,用于存放insert时的时间.
其他用户只需根据这个字段,来判断是否是否进行update.
不要等到全部 insert 完,再commit.
--你都没有commit,别人怎么update?
触发器尽量做少一点、更独立一点的工作。