使用while循环和表变量时,我遇到了一个非常奇怪的问题。请在下面找到我的代码。
表变量 - uniqueconsolidationkey,包含以下列
首先,我们在表变量中插入不同的合并值。
这是一个简单的插入。从另一个表中选择数据。
现在,我们在每行中应用while循环,并使用documentid更新表变量。请参阅下面的代码。
Rowno = 1且rowcount在我们的表变量
中没有行While(rowcount>rowno)
Begin
select @docid=some query to fetch milli seconds value plus some other varchar data
If(@prevdocid<>@docid)
Begin
Update @uniqueconsolidationkey
Set documentid=@docid
Where rowid=rowno
Set rowno=rowno+1
Set @prevdocid=@docid
End
End
现在问题是将相同的documentmentid分配给不同的行。我不知道怎么做。
还有一点需要注意的是,它会发生4行。对于前者如果第385行的docid为ABC123,第386行的docid为DEF345,那么在387 docid再次为ABC123和388 DEF345。
当我们完成所有检查时,这是怎么回事。这段代码运行正常,但有时我说五分之一,我们就会看到这样的问题。