0

いくつかのテーブルをセットアップしようとしていてエラーに気づいたので、空のデータベースを作成してエラーを再現しようとしました。

エラーは、「テーブル " の列が既存の主キーまたは UNIQUE 制約と一致しません。

このサイトから読んだことから、主キーに関係しています。

ただし、私がやりたいこと (私の主な関心事) は、1 つのテーブルを作成し、1 つのテーブルに役割、給与、職務内容を記入し、別のテーブルに名前と役割を記入することです。たとえば、2 番目のテーブルに 2 人の会計士がいる場合、最初のテーブルの 1 人の会計士エントリを 2 番目のテーブルに 2 回適用したいと思います。これを行うことで、20 の「役割」と 30 人の従業員がいるとしましょう。従業員の中には、独自の役割を持つ人もいれば、同じ役割を持つ人もいます。

テーブルがこのように機能するように設定するにはどうすればよいですか?

PS:

SQL Server Management Studio を使用してデータベースを作成しています (ゼロから作成しています)。問題を作成した方法は、テーブルを作成して 2 つの列を挿入したことです。列 1 は RolesID で、列 2 は Salary です。2 番目のテーブルは 2 つの列で構成されており、列 1 は名前、列 2 は位置です。表 2 に Salary (または pay または何か) というラベルの付いた 3 番目の列を追加したいと思います。2 つの異なる名前に対して同じ RoleID が 2 つある場合、3 番目の表に Salary を表示します。まだトリガーを挿入していません。

明確にするために: 可能なすべての役割と給与のテーブルを単純に作成し、それを別のテーブルに自動的に追加することは可能ですか? 名前 A、B、および C を入力し、それらがロール A、A、および B を持っている場合、ロールを指定するだけで、それに応じて A、B、および C の給与が自動的に更新されるようにしたいと考えています。

4

1 に答える 1

0

どうやらはっきりとは考えていませんでした。

簡単な解決策は、表現するすべてのテーブルに識別子コード (ID) を追加することです。

このために、給与用のテーブルを 1 つ、役割用のテーブルを 1 つ、連絡先用のテーブルを 1 つ用意しました。

マスター テーブルに、各 ID (連絡先 ID、給与 ID、役割 ID) の列を配置します。これらの ID がマスター テーブルにあるものを入力します。

各人のID番号をテーブルに置くだけで、レポートソフトウェアに適切な給与と役割が配置されました.

于 2013-08-20T19:15:46.643 に答える