- 论坛徽章:
- 0
|
回复 11# MYSQLER
写了一大串呢。。我贴出来吧。。。
# 出现了(new_tkgid != old_tkgid) ||(old_PCEID != new_PCEID)的情况,表示一条记录产生
if((new_tkgid != old_tkgid) ||(old_PCEID != new_PCEID))
{
TN_POS = STN "-" old_TN # // 拼接 TN_POS
TKSEQ_POS = SCIC "-" old_CIC # // 拼接 TKSEQ_POS
printf("%s, %s\n", old_SPC, SPC)
print old_tkgid OFS old_PCEID OFS TKSEQ_POS OFS TKSEQ_UNUSED OFS TN_POS OFS TN_UNUSED OFS old_FREETERM OFS old_CAS OFS old_SPC > trunk_file
SPC = ""
SCIC = TKSEQ # // 取当前的TKSEQ
STN = TN
old_CIC = TKSEQ # // 取当前的TKSEQ
old_TN = TN
reset()
old_tkgid = new_tkgid # // 当前TKGID 赋给 old_tkgid
old_PCEID = new_PCEID
old_FREETERM = new_FREETERM
old_CAS = new_CAS
old_SPC = new_SPC
next
}
# 2. 同一个TKGID ,分段,连续的情况,
#if((new_tkgid == old_tkgid) && (new_PCEID == old_pceid))
else
{
old_CIC = TKSEQ
old_TN = TN
num++ # 步距加1
tn_num++
distance = TKSEQ - SCIC
distance_tn = TN - STN
#print distance OFS distance_tn OFS num OFS tn_num
if(distance != num)
{
for(iPos = num; iPos < distance; iPos++)
{
if(TKSEQ_UNUSED == "")
{
TKSEQ_UNUSED = ""(SCIC + iPos)
}
else
{
TKSEQ_UNUSED = TKSEQ_UNUSED"&"(SCIC + iPos)
}
}
num = distance
}
if(distance_tn != tn_num)
{
for(iPos = tn_num; iPos < distance_tn; iPos++)
{
if(TN_UNUSED == "")
{
TN_UNUSED = ""(STN + iPos)
}
else
{
TN_UNUSED = TN_UNUSED"&"(STN + iPos)
}
}
tn_num = distance_tn
}
next
}
|
|