0

新しいプロジェクトがあり、それを効率的かつ迅速に行う方法についてアドバイスが必要です。

約 50 ~ 60 のフィールドを持つ約 100,000 行のテーブルがあります。索引が付けられ、主キーがあります。この場合の主キーはバーコードです。

各行を通過するクエリを作成し、各ステップでルールを確認する必要があります。

たとえば、最初のルールは、主キーの 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 に答える