レコードの追加にはINSERT命令を使います。新規商品の追加処理を例に試してみましょう。
- 追加処理のインターフェイス - レコードの削除を行うDELETEとフィールドの値を更新するUPDATEの2つの命令は、SQLの構文こそ異なるものの、処理全体の構造は非常によく似たものとなります。これは、どちらの命令も既存のレコードを操作するものであるためです。
まず、処理対象のレコードを選択し、ユーザーの確認を求めてからそれを削除または更新する――という形なので、処理全体の大枠はほとんど変わりません。ところが、新規にレコードを追加するINSERT命令を使う処理では、これら2つの命令とはちょっと違った構造を作る必要が生じます。
既存のレコードを検索しなくていいから、削除や更新処理より簡単な気もしますが、そうではありません。むしろ、面倒な部分もあります。ここで例に挙げるマスターテーブルの保守処理では、新しいレコードを追加する場合に「既存のIDと値が重複していないかどうか」を確かめなければなりません。そのための処理を追加することになります。
- アプリケーションの仕様 - あまり複雑な仕組みにすると構造が分かりにくくなるので、アプリケーションの仕様は単純なものにしておきましょう。
まず、新規商品の「商品ID」を入力して[重複検査]ボタンをクリックします。ここで既存商品のレコードを調べ、もし同じ商品IDが存在していたらエラーメッセージを表示し、商品IDの再入力を促します。
商品IDが重複していなければ、残る「品名」「仕入単価」などの値を入力します。このとき「仕入先ID」を入力すると、「仕入先_mr」テーブルを調べて仕入先の名称が表示されるようにしておきます。該当する仕入先が存在しなければ、やはりエラーメッセージを表示して再入力を促します。
最後に[追加]ボタンをクリックすれば、テーブルにレコードが追加されます。
|
|
|