我有一个完全空白的自定义表(DatabaseLogFixLog),只有一个名为“refRecId”的字段/列。我将它加入到 SysDatabaseLog(日志)。计划是批量更新SysDatabaseLog,当我更新SysDatabaseLog时,我会插入我更新的行的recId。我的 SysDatabaseLog 中有 370 万条记录。我已经尝试过如下所示的notexists join 和outer join。我的代码有什么问题?两者都只是完全锁定了我的系统,调试器不会进入循环。
外联:
updateCounter = 10;
while select forupdate log
order by CreatedDateTime, RecId
outer join databaseLogFixLog
where databaseLogFixLog.RefRecId != log.RecId
{
counter++;
if (counter > updateCount)
break;
info(strfmt("%1", counter));
}
info(strfmt("Done updating %1", counter));
Notexists 加入:
updateCounter = 10;
while select forupdate log
order by CreatedDateTime, RecId
notexists join databaseLogFixLog
where databaseLogFixLog.RefRecId == log.RecId
{
counter++;
if (counter > updateCount)
break;
info(strfmt("%1", counter));
}
info(strfmt("Done updating %1", counter));