1

与えられた 2 つのテーブル:

人好きな色

人は 1 つまたは複数の好きな色を持つことができます。これらの色は、複数選択コントロール (CheckBoxList、複数選択が有効な ListBox) で更新されます。

以前は、人物の色を更新する場合、次のようにしていました。

  1. 取引開始
  2. その人物のすべてのカラー レコードを削除する
  3. 選択した色ごとにレコードを挿入
  4. トランザクションのコミット

これは、「対多」の子テーブルでレコードを追加/更新/削除する複数選択コントロールを処理するための標準的でベスト プラクティスですか?

ありがとう!

4

2 に答える 2

1

私は通常、古い色をすべて削除するのではなく、お気に入りでなくなった色だけを削除し、実際に新しい色だけを追加します.

于 2010-04-27T17:06:16.640 に答える
0

2 つのテーブルに縛られていない場合、説明した方法で値を格納する比較的簡単な方法は、別のテーブルではなく、お気に入りの色のデータ型として配列を使用することです。

http://www.postgresql.org/docs/8.0/interactive/arrays.html

それが受け入れられるオプションである場合、更新手順は次のようになります。

  1. 取引開始
  2. 行の更新
  3. トランザクションのコミット
于 2010-04-27T17:13:08.510 に答える