展开全部
不会是同一时间 要有先后顺序的
首先 外键表需要在主键表之后插入 原因很简单 主键表还未生成主键id
该向外键表插什么?
一般情况下的解决办法 编写存储过程A
在三个主键表都插入结束后 将三个主键新生成的id得到
然后再向两个外键表插数据
declare @表1ID int
declare @表2ID int
declare @表3ID int
insert 主键表1 (....) values (....)
select @表1ID = id from 主键表1
insert 主键表2 (....) values (....)
select @表2ID = id from 主键表2
insert 主键表3 (....) values (....)
select @表3ID = id from 主键表3
insert 外键表1 (@表1ID,@表2ID)
insert 外键表2 (@表1ID,@表3ID)
基本思路都写给你了
首先 外键表需要在主键表之后插入 原因很简单 主键表还未生成主键id
该向外键表插什么?
一般情况下的解决办法 编写存储过程A
在三个主键表都插入结束后 将三个主键新生成的id得到
然后再向两个外键表插数据
declare @表1ID int
declare @表2ID int
declare @表3ID int
insert 主键表1 (....) values (....)
select @表1ID = id from 主键表1
insert 主键表2 (....) values (....)
select @表2ID = id from 主键表2
insert 主键表3 (....) values (....)
select @表3ID = id from 主键表3
insert 外键表1 (@表1ID,@表2ID)
insert 外键表2 (@表1ID,@表3ID)
基本思路都写给你了
展开全部
同一时间?总有个先后吧,可以用存储过程,先插主键表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的对,不可能同一时间的,一般用存储过程。另外Asp.net不是语言。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的这个需求其实可以转化为:同时插入多个表的数据,同时成功,只要一条失败,所有的插入操作均失败。其实,就是简单的数据库事务的问题。
你只需要在你的插入sql前后,声明它们在一个事务中,即可:
begin tran
insert into tableA...
insert into tableB...
insert into tableC...
commit
你只需要在你的插入sql前后,声明它们在一个事务中,即可:
begin tran
insert into tableA...
insert into tableB...
insert into tableC...
commit
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要从多个表中检索出信息来,那么这些表之间必然存在某种联系,这样的话可以直接通过SQL语句就能实现的,当然一定要用到连接操作的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询