5个回答
展开全部
不会是同一时间 要有先后顺序的
首先 外键表需要在主键表之后插入 原因很简单 主键表还未生成主键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)
基本思路都写给你了
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
同一时间?总有个先后吧,可以用存储过程,先插主键表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的对,不可能同一时间的,一般用存储过程。另外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语句就能实现的,当然一定要用到连接操作的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询