sybase 12.5 复制 数据不一致的问题。
现象:发现目标端数据比源端少,经过排查,发现在源端执行delete .. where ...语句时,再目标端会多删数据,将where条件之外的数据也删了。源端sql如下
select @2m_day= convert(char(8),dateadd(mm,-2,getdate()),112)--两个月前
delete LOG_2M where convert(char(8),sj,112) <@2m_day
经过测试,发现经过复制,在目标端,部分不在时间范围之内的数据也被删了,导致两边数据不一致。
难道是复制传输过程中出错?
求大神解释。 delete CM_CRD_SD_LOG_JF_2M where convert(char( 8 ),sj,112) <@2m_day 我又做了个试验,A表复制到B表,表结构一样,无索引,无触发器等,就两张裸表,inser 时 复制没问题。按时间delete时,问题来了,B表删的数据比A表多。。。
表结构如下
create table ZH_2M_A (
kid varchar(20) not null,
kh varchar(20) not null,
str varchar(10) not null,
orgid varchar(10) not null,
pcid varchar(20) not null,
pclx varchar(10) not null,
pczjf float(16) not null,
pcjf float(16) not null,
jflx varchar(4) not null,
pcrq char(8) not null,
rq char(8) not null,
sj datetime not null,
lx varchar(10) not null,
dh varchar(20) not null,
djlx varchar(10) not null,
str1 varchar(30) not null,
str2 varchar(30) not null,
str3 varchar(30) not null,
num1 numeric(12,2) not null,
num2 numeric(12,2) not null,
num3 numeric(12,2) not null
)
lock allpages
on 'default'
go
在A表执行的sql 为 delete from ZH_2M_A where convert( char ( 8 ),sj,112 ) ='20130127'
在B表中,SJ为'20130128','20130129' 也删了一些数据。(表中元数据,SJ 只有这三个时间) 有沒有觸發器?
页:
[1]