0

我有一个新项目,只需要一些关于如何高效快速地完成它的建议。

我有一个大约 100,000 行的表格,大约有 50 到 60 个字段。它已编入索引并具有主键。在这种情况下,主键是条形码。

我必须创建一个遍历每一行的查询,并在每一步检查规则。

例如,第一条规则是检查主键的第 3 位是否为 0。所以代码明智的是SUBSTRING(PkgBarcode, 3, 1) = 0

如果此规则失败,我想打印一条消息。此外,无论这条规则是失败还是通过,我都想继续,因为规则不相互依赖,即它可能会失败规则 2,但通过规则 3 没关系。

我正在寻求最佳设计实践。仅使用带有打印消息或某种循环的 select 语句是否有效?你将如何快速有效地做到这一点?

4

1 回答 1

0

您不想“通过每一行”执行此操作,而是使用标准集合论。例如,您可以为需要运行的每个测试添加一个 BIT 列,然后运行查询以根据测试更新该位:

UPDATE tblMyTable
SET [IsThirdDigitZero] = 0
WHERE SUBSTRING(PkgBarcode, 3, 1) <> 0

这使得在避免光标的同时拉出不符合特定测试的列表变得容易。

于 2012-04-30T15:42:09.000 回答