私は、すべての従業員番号、名前、および各従業員に関する情報を含む SQL Server 2000 テーブルを持っています。
会社が売却された後、すべての従業員 ID 番号が削除されることを除いて、すべてのデータはそのまま残り、全員の元の雇用日 (doh) に基づいて 1 から再作成されます (そして 1 ずつ増加します)。
次のコマンドを使用して、希望する順序でレコードを一覧表示できます。
SELECT IdNumber
FROM EmpTable
ORDER BY doh ASC
(これIdNumber
は ID の主キーであるため、一時的にオフにする必要があります。後でオンに戻す必要があります。) そのキー列には他に何も関連付けられていません。これは、すべてが入った単一のテーブルです....各従業員に関係します。2 人の従業員が同じ DOH を持っている場合、どちらが低い ID 番号を取得しても問題ありません。しかし、次のようなセカンダリ フィールドでいつでもサブソートできると思います: 姓
IdNumber
しかし、列だけを変更して、同じレコードを同じテーブルに書き戻すにはどうすればよいでしょうか?
「2番目の選択肢」として...新しいID番号を使用して別のテーブルを作成できます...そして、すべてがそこにあり、機能した後...新しいテーブルをオンラインにします。
「3 番目の選択肢」として... 1 つのテーブルを使用して、新しいフィールド NewId を追加し、そこに新しく作成された ID を配置することができます。
方法はいろいろあると思いますが・・・どれも思いつきません。