社区
C#
帖子详情
如何主外键约束关系的两个表中插入数据
cyliyang
2010-11-20 02:30:23
oracle数据库中有建立主外键关系的两张表,主表和明细表,例如订单和订单明细
主表: OrderID 主键
其它字段略
明细表: OrderID:外键
其它字段图
现在要向表中插入数据,主表中1条,明细表中5条。
向明细表中插数据时,提示违反主外键约束,
在用事务处理 时 该怎么写 Sql 语句呢 ?
请教各位帮忙解决一下 !!!!
...全文
1253
7
打赏
收藏
如何主外键约束关系的两个表中插入数据
oracle数据库中有建立主外键关系的两张表,主表和明细表,例如订单和订单明细 主表: OrderID 主键 其它字段略 明细表: OrderID:外键 其它字段图 现在要向表中插入数据,主表中1条,明细表中5条。 向明细表中插数据时,提示违反主外键约束, 在用事务处理 时 该怎么写 Sql 语句呢 ? 请教各位帮忙解决一下 !!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cyliyang
2010-11-25
打赏
举报
回复
[Quote=引用 4 楼 krad_d 的回复:]
你主表中应该有自增长的唯一标识吧!
那么你在主表插入的语句中加入select @@identity 获得最新自增长的ID
这iD就是明细表的外键了
[/Quote]
多谢提醒 这个读取解决了 oracle中的 是自增序列 sequence 读取当前的CURRVAL 值 是当前插入记录 的号。 不过该怎么保证与明细表中后插入相关联数据10条匹配一致呢 ?也就是在多线操作时 会不会是读取的这个号 可能就是别人刚刚插入的值了 该怎么处理多线是这样的问题呢 ?多线时 加锁处理该怎么实现呢?
浪子-无悔
2010-11-20
打赏
举报
回复
[Quote=引用 4 楼 krad_d 的回复:]
你主表中应该有自增长的唯一标识吧!
那么你在主表插入的语句中加入select @@identity 获得最新自增长的ID
这iD就是明细表的外键了
[/Quote]
在存数过程中试可以这么操作,但是不知道楼主到底是插入语句用存储过程实现还是想利用后台代码实现
呵呵
浪子-无悔
2010-11-20
打赏
举报
回复
很简单哈。
如果你主表的ID是自动增长的话 我觉得不是一个很好的解决方法,毕竟自动增长在程序里面不好控制。
比方你 获取最大记录数+1 万一你有删除的数据呢,这样不准确。
采用 COUNT 的方法更不合适。
建议采用.NET 自带方法 GUID 生成主表的ID 然后用一个变量保存起来。
明细表插入数据的时候不就可以引用主表的ID 了 然后就循环SQL语句 呗。试下。
Krad_D
2010-11-20
打赏
举报
回复
你主表中应该有自增长的唯一标识吧!
那么你在主表插入的语句中加入select @@identity 获得最新自增长的ID
这iD就是明细表的外键了
cyliyang
2010-11-20
打赏
举报
回复
[Quote=引用 1 楼 gac520 的回复:]
有这个外键约束的话,你的明细表的ORDERID 这个字段在主表里必须有改记录才可以哈
事物:无碍乎就是你执行的语句 必须完全成功执行 提交,只要有一条无法执行将全部回滚。
[/Quote]
我同时 向 这两个表中插入一组记录 主表中一条 明细表中 5 条 该怎么写这个 语句呢?
cyliyang
2010-11-20
打赏
举报
回复
恩 在主表中 ID 是自动增长序列 我在向主表中 插入一条后 再怎么写 向明细表中 插入5条记录的语句呢 (明细表中外键非空 怎么获取得到 要插入的与主表中相匹配关联的ID 号?)
浪子-无悔
2010-11-20
打赏
举报
回复
有这个外键约束的话,你的明细表的ORDERID 这个字段在主表里必须有改记录才可以哈
事物:无碍乎就是你执行的语句 必须完全成功执行 提交,只要有一条无法执行将全部回滚。
async-profiler-4.5-linux-x64.tar.gz
async-profiler-4.5-linux-x64.tar.gz
实用代码脚本易语言源码通用界面扩展
实用代码脚本易语言源码通用界面扩展
高校技术转移办公室人员如何借助科创大脑推动科技成果精准转化?.docx
科易网基于40亿+科创知识图谱
数据
库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
使用机器学习的简约VAR模型评估中国的宏观金融联系.pdf
使用机器学习的简约VAR模型评估中国的宏观金融联系.pdf
C#
111,129
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章