首页新闻找找看学习计划

数据库插值有点麻烦。

0
悬赏园豆:20 [已解决问题] 解决于 2015-06-10 21:56
先看看表结构。
--订单表
create table crm_order(
       o_id integer primary key,         /*订单表ID自增一*/
       c_id integer not null,            /*客户ID*/
       e_id integer not null,            /*员工ID*/
       address varchar2(200) not null );   /*收货地址*/
 
create sequence seq_crm_order_seq  INCREMENT BY 1 START WITH 1001;
 
--订单详细表
create table crm_order_detail(
       od_id integer primary key,        /*订单详细表ID自增一*/
       o_id integer not null,            /*订单表ID*/
       g_id integer not null,            /*商品编号*/
       od_num integer not null,          /*订货数量*/
       od_remark varchar2(200) not null, /*交易备注*/
       state integer not null,           /*状态 ok:0  ready:1*/
       odate date not null,              /*下单时间*/
       udate date not null );            /*订单更新时间*/
 
create sequence seq_crm_order_detail_seq  INCREMENT BY 1 START WITH 10001;
 
由于我为了精简就没有设置外键了,现在的情况是,我要先在订单表中插入数据,然后获取刚刚插入数据的ID,然后再在订单详细表中插入,这个要怎么实现才行?需要写在事务中。
zeroonec的主页 zeroonec | 初学一级 | 园豆:59
提问于:2015-06-10 13:50
< >
分享
最佳答案
0

1.开启事务

2.插入主表,并返回ID

3.插入详情表

4.提交事务

收获园豆:10
吴瑞祥 | 高人七级 |园豆:28729 | 2015-06-10 14:28
其他回答(3)
0

麻烦在哪里呢

清海扬波 | 园豆:813 (小虾三级) | 2015-06-10 14:15
0

这有什么麻烦的?

羽商宫 | 园豆:2493 (老鸟四级) | 2015-06-10 14:46
0

想得太多,做得太少了。

你唯一纠结的就是自增ID的获取是吧?

收获园豆:10
爱编程的大叔 | 园豆:29862 (高人七级) | 2015-06-10 14:58

大叔说的是,今天在群里问了一下解决了问题。

支持(0) 反对(0) zeroonec | 园豆:59 (初学一级) | 2015-06-10 21:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册