0

ケース テーブルとメッセージ テーブルの 2 つのテーブルがあります。
Case には多数のメッセージが含まれる場合があります。
ただし、メッセージには「Case No/Msg No」のような参照フィールドが必要であり、Msg No は、同じケースのすべてのメッセージに対して 1 から始まるシーケンスである必要があります。

例:
ケース 1 メッセージ 1 --> 参照: 1/1
ケース 1 メッセージ 2 --> 参照: 1/2
ケース 2 メッセージ 1 --> 参照: 2/1

メッセージ No はシーケンスである必要がありますが、同じケースのメッセージのみです。
私の問題は、MsgNo を作成する方法ですか?
システムはマルチユーザーになるため、get max 関数を使用してこれを行うことはできません。
私はSQL Server 2008を使用していることに言及し
てください.IDENTITY関数を使用してこれを実装する他の方法はありますか?
どんなアイデアでも大歓迎です

事前に助けてくれてありがとう
MA

4

1 に答える 1

0

マスター/詳細テーブル構造を作成します。両方のテーブルに独自のIDが必要です(正規化されたデータベースを使用する方が常に優れています)。次に、詳細テーブルに「LineNumber」を作成し、マスターテーブルIDに従ってインクリメントします。これは、ドキュメント行のLineNumberに似ています。たとえば、請求書と請求書の行があり、各行には独自のIDがあり、請求書の行を識別するためのフィールドが複数あります。

于 2012-05-17T09:31:52.573 に答える