insert时涉及到两个表怎么办〈〉

来源:百度知道 编辑:UC知道 时间:2024/05/23 19:57:51
INSERT时涉及两个表,我先插入第一个表中的数据,再插第二个。例如:student(indofstudent,indofuser,.....)和user(indofuser......),user.indofuser和student.indofsutdent是主码,现在有一组数据要插入到这两个表中,我先插入user中的,再插入student中的,但是插入user表后,如何得到我插入到这个表中的indofuser值呢?忘说了,user中的indofuser是自加的。没有这个值,student是插入不进去的。哪位帮帮忙,给我说下怎么做,最好用代码,谢谢

你在插入user表前,先查询下最大indofuser的值
select Max(indofuser) from user
这样等你插入user表操作完后,用这个最大值加1就是你新插入数据的开始行
这样你就可以取到indofuser值了。
剩下的就是插入到student表了。

以上是人工方式
要自动的就去看下触发器,用触发器来做。

本人是新手,刚刚学Oracle,不知道说的对不对,还是请楼主试一试吧!你说的问题我感觉应该可以用更新的方法吧!
语句是:update 表 set 字段=值,…… where 条件;如果省略where语句,则表中所有数据都更新。

取插入user时的indofuser的值不就行了

触发器