データベース千夜一夜第15回

プログラミングとSQL(3)
~フィールドの更新とレコードの追加処理
長谷川裕行
有限会社 手國堂

レコードの追加処理(1)~SQLとアプリの仕様

レコードの追加にはINSERT命令を使います。新規商品の追加処理を例に試してみましょう。


- 追加処理のインターフェイス -

レコードの削除を行うDELETEとフィールドの値を更新するUPDATEの2つの命令は、SQLの構文こそ異なるものの、処理全体の構造は非常によく似たものとなります。これは、どちらの命令も既存のレコードを操作するものであるためです。

まず、処理対象のレコードを選択し、ユーザーの確認を求めてからそれを削除または更新する――という形なので、処理全体の大枠はほとんど変わりません。ところが、新規にレコードを追加するINSERT命令を使う処理では、これら2つの命令とはちょっと違った構造を作る必要が生じます。

既存のレコードを検索しなくていいから、削除や更新処理より簡単な気もしますが、そうではありません。むしろ、面倒な部分もあります。ここで例に挙げるマスターテーブルの保守処理では、新しいレコードを追加する場合に「既存のIDと値が重複していないかどうか」を確かめなければなりません。そのための処理を追加することになります。


- アプリケーションの仕様 -

あまり複雑な仕組みにすると構造が分かりにくくなるので、アプリケーションの仕様は単純なものにしておきましょう。

まず、新規商品の「商品ID」を入力して[重複検査]ボタンをクリックします。ここで既存商品のレコードを調べ、もし同じ商品IDが存在していたらエラーメッセージを表示し、商品IDの再入力を促します。

商品IDが重複していなければ、残る「品名」「仕入単価」などの値を入力します。このとき「仕入先ID」を入力すると、「仕入先_mr」テーブルを調べて仕入先の名称が表示されるようにしておきます。該当する仕入先が存在しなければ、やはりエラーメッセージを表示して再入力を促します。

最後に[追加]ボタンをクリックすれば、テーブルにレコードが追加されます。



トップページ
フィールドの更新処理(1)~SQLとアプリの仕様
フィールドの更新処理(2)~ソースコードの記述
レコードの追加処理(1)~SQLとアプリの仕様
追加処理のインターフェイス
アプリケーションの仕様
レコードの追加処理(2)~商品IDの重複検査
レコードの追加処理(3)~仕入先名の表示
レコードの追加処理(4)~実際の追加処理
あとがき
Copyright © MESCIUS inc. All rights reserved.