高分求助,在线等:多个级联表,3个或者3个以上,在insert数据时怎么做比较好啊 不要用sequence类型的字段做主外键,如果主键不是自加型,可以先取原来的最大值+1,在取最大值时应该用for update 将表锁住。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java程序可以生成触发器吗?另外,触发器怎么写啊,没写过 luckbird说在取最大值时应该用for update 将表锁住,怎么锁啊 你可以在t1表中建立一个触发器,当你t1表中插入数据时,就会触发该触发器,把你的数据插入到t2,t3...,的确,你在取最大值的时候应该使用for update 将表锁住,,就是这样 select max(id) from t1 for update;即可 select max(id) from t1 for update这句在oracle9i里不能执行啊,显示ora-01786:此查询表达式不允许for updateselect id from t1 for update倒是可以运行,但是并不是想要的数据 for update好像是锁定行吧,那锁定一个已经存在的行对于插入有什么意义,不明白。 不好意思,我刚才试了,用 for update确实是不行的,你可以用以下语句直接锁表lock table t1 in exclusive mode nowait; 要锁定的是最大值所在的行select id from t1 where id = (select max(id) from t1) for update 关于oracle监听 散分啦 failed to start the service,error 0 请问怎么用程序达到自动配置ODBC数据源?? 求个SQL rman恢复备份到另外一台服务器 关于用delphi 调用oracle 的存贮过程问题(很简单) 请教一个sql问题,不同用户下的表的连接? 我的BDE找不到ORACLE项的, 怎么办 请问oem到底提供了那些可示化操作功能?oem的用户为森么部时数据库用户! *专家高手问题*oracle 驱动问题! 争需求助啊!
的确,你在取最大值的时候应该使用for update 将表锁住,,
就是这样 select max(id) from t1 for update;即可
这句在oracle9i里不能执行啊,显示ora-01786:此查询表达式不允许for update
select id from t1 for update倒是可以运行,但是并不是想要的数据
select id from t1
where id = (select max(id) from t1) for update