に 16 桁のセキュリティ番号を登録するオラクルの手順を書かなければなりませんregistered_security_numbers
。セキュリティ番号の最初の 6 桁は1234 11または1234 12であり、残りの 10 桁はランダムに生成されることがわかっています。
私には2つの可能な解決策があります:
プロパティ を設定して、考えられるすべてのセキュリティ番号を生成し、それらを
possible_security_numbers
テーブルに挿入する 2 番目のプロシージャを記述しますfree=1
。次に、新しいセキュリティ番号を登録するリクエストを受け取ったら、possible_security_numbers
テーブルにクエリを実行してランダムなセキュリティ番号を取得します。これは無料で、に挿入しregistered_security_numbers
ます。暗証番号の登録依頼が来るたびに、 1234 1100 0000 0000 から 1234 1299 9999 9999までの乱数を生成 し、テーブルに存在しない暗証番号を取得して
registered_security_numbers
に挿入しregistered_security_numbers
ます。
possible_security_numbers
(1)テーブルには数十億のエントリが含まれ、それがどれほど優れているか、または選択/更新をどれだけ速く実行できるかがわからないため、私は好きではないアプローチです。
registered_security_numbers
(2)テーブルに多くのレコードがある場合、範囲から乱数を生成することが何度も繰り返される可能性があるため、嫌いなアプローチです。
誰かが他の解決策を持っているかどうか、または私の解決策についてコメントできるかどうかを知りたいのですが、それは私にとって悪いように思えます...</p>