我设计如下数据库,见下图包含如下几个数据表
发动机型号表
发动机参数表一
发动机参数表二
发动机参数表三
发动机关联表现在问题是该如何进行操作。
1、通过insert插入数据库的时候采用事务,可以插入所有数据,但是感觉不太对劲啊
代码如下begin tran
insert into 发动机型号表 values('FF-00-66')
insert into 发动机参数表一 values('220','280')
insert into 发动机参数表二 values('2000','400')
insert into 发动机参数表三 values('60','100')insert into 发动机关联表(发动机ID,参数表一ID,参数表二ID,参数表三ID)
select MAX(x.发动机ID),Max(c1.参数表一ID),Max(c2.参数表二ID),Max(c3.参数表三ID)
from 发动机型号表 as x,发动机参数表一 as c1,发动机参数表二 as c2,发动机参数表三 as c3
where x.发动机ID = c1.参数表一ID and x.发动机ID = c2.参数表二ID and x.发动机ID = c3.参数表三ID
commit tran该如何改进呢?
2、删除数据问题?
如果我要删除型号为FF-00-66的表数据,该如何操作可以一次性删除几个表中相关联的数据。
发动机型号表
发动机参数表一
发动机参数表二
发动机参数表三
发动机关联表现在问题是该如何进行操作。
1、通过insert插入数据库的时候采用事务,可以插入所有数据,但是感觉不太对劲啊
代码如下begin tran
insert into 发动机型号表 values('FF-00-66')
insert into 发动机参数表一 values('220','280')
insert into 发动机参数表二 values('2000','400')
insert into 发动机参数表三 values('60','100')insert into 发动机关联表(发动机ID,参数表一ID,参数表二ID,参数表三ID)
select MAX(x.发动机ID),Max(c1.参数表一ID),Max(c2.参数表二ID),Max(c3.参数表三ID)
from 发动机型号表 as x,发动机参数表一 as c1,发动机参数表二 as c2,发动机参数表三 as c3
where x.发动机ID = c1.参数表一ID and x.发动机ID = c2.参数表二ID and x.发动机ID = c3.参数表三ID
commit tran该如何改进呢?
2、删除数据问题?
如果我要删除型号为FF-00-66的表数据,该如何操作可以一次性删除几个表中相关联的数据。
insert into 发动机型号表 values('FF-00-66')
insert into 发动机参数表一 select 发动机ID,'220','280' from 发动机型号表 where 发动机型号='FF-00-66'
insert into 发动机参数表二 select 发动机ID,'2000','400' from 发动机型号表 where 发动机型号='FF-00-66'
insert into 发动机参数表三 select 发动机ID,'60','100' from 发动机型号表 where 发动机型号='FF-00-66'