JSP + ServletsとOracle10をバックエンドとしてWeb アプリケーションを開発しています。
顧客に関連する情報を格納するためのテーブルがあります。
|ID |Name |City |
|N0001 |ABC |NASIK |
|N0002 |PQR |NASIK |
|N.... |... |NASIK |
|N9999 |XYZ |NASIK |
|N10000 |LMN |NASIK |
|N10001 |MNO |NASIK |
上記の表は主キーで、 (最初の文字+ 数字 (数字は最低 4 文字の長さである必要があるため、最初の ID の場合、数字に 3 つの先行ゼロが追加されます)) にID
応じて自動生成されます。City
City
For Generating ID:
テーブルから Largest ID を取得するために次のクエリを使用してから、いくつかの Java コード Auto Generate Next を使用していますID
。
query = "select ID from CUST where CITY='NASIK' order by ID desc";
次に、ID が に到達するまで期待どおりの最初のID
ものを取得しますが、それ以上の場合、クエリはLargest として私を与えます。ResultSet
N9999
ID
N10000
N9999
ID
後の出力N9999
:
ID
----------
N9999
N10001
N10000
N0002
N0001
出力期待
ID
----------
N10001
N10000
N9999
N0002
N0001
私の質問は、上記のクエリに何か問題がありますか? または、文字列を含む ID を自動生成するより良い方法はありますか。
Edit1
私の要件はID
、開始位置に文字を含む自動生成することです。