高分求助,在线等:多个级联表,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求和问题 SQL Server 2008远程链接到Oracle 存储过程中调用了自定义的一个函数,速度超慢,请教如何解决 请一本有关SQL优化的书 关于使用PLSQL Developer的不便问题!急? 请问一下,你们是在哪里写oracle存储过程的?在sql*plus中怎么调试呀? 请问数据库连接总共有几种方式,他们分别是什么?谢谢哦! 今天老板给一个任务,我感觉天快塌下来了。(1000分相送,不够再加) 初学者,想学ORACLE,请指点一下! Oracle 中 几千万条数据 查询 sql 性能优化 *专家高手问题*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