NutzCN Logo
问答 关于nutzDao事物的问题
发布于 74天前 作者 Memory 119 次浏览 复制 上一个帖子 下一个帖子
标签:

问题前提:
表一:TABLE1(
ID -->主键
FK_ID --->TABLE2主键
......
)
表二:TABLE2(
ID -->主键
......
)

Trans.exec(new Atom() {
					public void run() {
               --> 删除TABLE1 ; // 问题点:事务中删除TABLE1,但是实际的数据库中未删除?
               --> 删除TABLE2;   
})

报错信息:
ORA-02292: 违反完整约束条件 (TABLE2.FK_...) - 已找到子记录
总结:
事务中删除主外键的两张表不成功。

对于此情况有什么好的解决方案吗?

7 回复

删除表中的数据 。。。。

表结构贴一下,是不是其他外键的问题

----------------------------------------------------t_customer_ref_prop--------------------------------------------------------
t_customer_ref_prop(
ref_prop_id number(10)
ref_id number(10) y -->该字段是表t_customer_ref表的主键
prop_cn_name varchar2(32) y
prop_name varchar2(32) y
prop_value varchar2(256) y
)
------------------------------------------------t_customer_ref------------------------------------------------------------
t_customer_ref()
id number(10)
monitor_id number(10) y 联系方式
monitored_id number(10) y
nick_name varchar2(32) y
sex number(1) y 0 男 1 女
address varchar2(128) y
birthday date y
status number(1) y 1.未安装 2 已安装 3拒绝邀请
head_portrait varchar2(64) y 头像
terminal_type number(10) y
is_shared_user number(1) y
camera_id varchar2(50) y

Trans.exec(new Atom() {
					public void run() {
               --> 删除t_customer_ref_prop表的数据; 
                  (DELETE FROM  T_CUSTOMER_REF_PROP WHERE REF_ID=@refId)
               --> 删除t_customer_ref;   
                  (DELETE FROM  T_CUSTOMER_REF WHERE MONITOR_ID=@monitorId)
})

报错信息:
ORA-02292: 违反完整约束条件 (t_customer_ref.FK_...) - 已找到子记录;
也就是说当删除 T_CUSTOMER_REF表的数据的时候,找到了T_CUSTOMER_REF_PROP 表中的子记录。

中间一个select看看

你的意思是说在两者之间查询下,第一次删除的数据?看看是否存在

@qq_e4206858 是的

添加回复
请先登陆
回到顶部