ORACLE 删除一个表数据另一个表数据自动删除

jinweifighting 2010-03-22 05:00:14
两个表有两个字段名相同,为何我删除一个表数据 ,另一个表数据会自动删除呢!我没有建triiger 这两个表直接从另外资料库过来的(create table test from test@DB01),还请各位高手帮忙,急用!
...全文
556 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovenoerror 2010-05-01
  • 打赏
  • 举报
回复
看看有没有触发器,再一个就是做了关联
xieyu_zy 2010-05-01
  • 打赏
  • 举报
回复
请楼主仔细检查配置和数据以及操作过程,不要因为一条数据产生一些结论,这存在偶然性,但是对于这类问题首先不要认为ORACLE有BUG的想法,从操作的细节上找到问题的根源。

一般来说发生这种情况的只有几种可能性:
1、触发器,你已经认定没有了
2、依赖信息,你也认定没有了,这部分请再次通过导出以及查询依赖的方式确认清楚。
3、其中一张表是物化视图,采用实时刷新方式
4、使用了程序运行,两表同步操作
5、自己误操作,或多终端操作造成的一些偶然现象。

不过请楼主查看下两个表的数据版本,若已经找不到,现在再删除一条试一试,然后来找一下,删除以前,记录下当前服务器的时间,通过SYSDATE获取,假如你现在获取的时间点是:2010-05-01 15:56:23,那么确认好此时数据没有人动它,好删除掉它,看下是否两个表都删除掉了,如果真的删除掉了,查看版本(假如表名称叫做test):
select versions_xid xid,
versions_operation op,
versions_startscn startscn,
versions_endscn endscn,
rowid,
test.*
from test versions
between scn timestamp_to_scn(to_timestamp('2010-05-01 15:56:23','YYYY-MM-DD HH24:MI:SS')) and maxvalue;
分别查看下两个表那个时间点的数据是否与你想要的一致,另外查询回滚段信息,由谁登陆者提交,提交何种SQL:
SELECT *
FROM flashback_transaction_query t
WHERE t.table_name='TEST';
  • 打赏
  • 举报
回复
用trigger实现的
jinweifighting 2010-03-29
  • 打赏
  • 举报
回复
在sqlplus里执行的
you_tube 2010-03-23
  • 打赏
  • 举报
回复
不用触发器就没办法了
fingerfox 2010-03-23
  • 打赏
  • 举报
回复
delete是在程序里执行的还是sqlplus里面执行的?
dzntree 2010-03-23
  • 打赏
  • 举报
回复
楼主仔细检查一下~~~
jinweifighting 2010-03-22
  • 打赏
  • 举报
回复
create table FTBMD141
(
WE_NO VARCHAR2(13) not null,
WE_SEQ VARCHAR2(4) not null,
WF_SEQ VARCHAR2(16),
LEFT_ISOK VARCHAR2(1),
RIGHT_ISOK VARCHAR2(1),
UP_USER VARCHAR2(10),
UP_DATE DATE
)
tablespace USERS
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 128K
next 128K
minextents 1
maxextents 4096
pctincrease 0
);

-- Create table
create table FTBMD14
(
WE_NO VARCHAR2(13) not null,
WE_DATE DATE,
SIZE_SEQ VARCHAR2(16),
T_QTY NUMBER(8,1),
WE_TIME NUMBER(8,1),
OK_NG VARCHAR2(1),
MO_CLASSNO VARCHAR2(3),
STA_G NUMBER(8,1),
SJ_G NUMBER(8,1),
UP_USER VARCHAR2(10),
UP_DATE DATE
)
tablespace USERS
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 128K
next 128K
minextents 1
maxextents 4096
pctincrease 0
);
这个是两个的脚本
没有任何关联
wanjianjun 2010-03-22
  • 打赏
  • 举报
回复
确认没有建触发器的话,那就肯定是这两表有外键相关联了,并且设置了on delete属性。
fyjava1984 2010-03-22
  • 打赏
  • 举报
回复
没有触发器,那就是有外键关联
zjwssg 2010-03-22
  • 打赏
  • 举报
回复
没触发器,那八成是这两表有外键相关联了吧
iqlife 2010-03-22
  • 打赏
  • 举报
回复
语句贴出来看看
suiziguo 2010-03-22
  • 打赏
  • 举报
回复
1 确认无触发器?

2 是否有外键关系,外键定义有on delete cascade选项,可能引起连锁反应。
tangren 2010-03-22
  • 打赏
  • 举报
回复
用建立触发器啊

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧