ORACLE 删除一个表数据另一个表数据自动删除 两个表有两个字段名相同,为何我删除一个表数据 ,另一个表数据会自动删除呢!我没有建triiger 这两个表直接从另外资料库过来的(create table test from test@DB01),还请各位高手帮忙,急用! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1 确认无触发器?2 是否有外键关系,外键定义有on delete cascade选项,可能引起连锁反应。 确认没有建触发器的话,那就肯定是这两表有外键相关联了,并且设置了on delete属性。 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 tablecreate 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 );这个是两个的脚本没有任何关联 delete是在程序里执行的还是sqlplus里面执行的? 请楼主仔细检查配置和数据以及操作过程,不要因为一条数据产生一些结论,这存在偶然性,但是对于这类问题首先不要认为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'; 求教高手关于oracle海量数据实时数据查询的实现方案!!! php 如何连接 oracle timesten 数据库 一个奇怪的问题 ubuntu12.10 装oracle装哪个版本好?最新的是哪个? 俺刚开始学习触发器,见到csdn上有人提到变异表,哪位给解释一下是什么概念? 关于游标执行效率 回滚段问题? 十万火急!!! 高分求教一条sql,相信你一定会 ora-01034 oracle not available这种错误如何解决?100分相赠,不够再补 高分帮忙写SQL语句 数据库开发中大批量数据怎么提交?
(
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
);
这个是两个的脚本
没有任何关联
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';