■ ストアドプロシージャについて(2回目)
簡単な担当者マスタでストアドプロシージャを作成してみます。
今回は、ストアドプロシージャから担当者マスタにデータを書き込んで
読み出すことをします。
1.まず、テーブルを作成します。
列名 データ数 長さ 精度 桁数 Nullを許容
担当者コード Int 4 10 0
担当者名 nvarchar 20 0 0
カナ名 nvarchar 20 0 0
* 主キーは、担当者コードです。
■ 書き込むストアドプロシージャ
2.担当者マスタに1レコードを書き込むストアドプロシージャを作ります。
・構文
insert [into] テーブル名 (列名1,列名2, ・・・)
values (定数1,定数2, ・・・)
列名、定数はカンマで区切ります。
全ての列にデータを入力する場合、列名は省略できますが
列名は書いた方が見直す時にわかり易いので省略しないように
しましょう。
では、早速作ってみましょう。
ストアドプロシージャの「デザインを使用してストアドプロシージャを
作成する」をダブルクリックします。
下記のsp_担当者マスタ_insのストアドプロシージャをコピーペースト
して貼り付けます。
Alter Procedure sp_担当者マスタ_ins
(
@担当者コード int,
@担当者名 varchar (20),
@カナ名 varchar (20)
)
As
insert into 担当者マスタ (担当者コード,担当者名,カナ名)
values (@担当者コード,@担当者名,@カナ名)
return
「sp_担当者マスタ_ins」 の名前で保存します。
では、実行してみましょう。
3.「sp_担当者マスタ_ins」をダブルクリックします。
「パラメータの入力」の画面が出てきますので入力していきます。
2−1.担当者コードに 「1」 と入力して「OK」をクリックします。
2−2.担当者名に 「高橋」 と入力して「OK」をクリックします。
2−3.カナ名に 「タカハシ」 と入力して「OK」をクリックします。
2−4.「ストアドプロシージャは実行されましたが、
レコードは返されませんでした」というメッセージが
表示されます。
「OK」をクリックします。
実際に登録できているか、確認してみましょう。
担当者マスタのテーブルをダブルクリックしてみると先ほど入力した
データが登録されています。
■ 読むストアドプロシージャ
4.担当者マスタを1レコードを読むストアドプロシージャを作ります。
・構文
select 列名1,列名2, ・・・
from テーブル名
[where 検索条件]
テーブルの全ての項目を取得する場合は、"*"(アスタリスク)
を使います。
指定した項目を取得する場合は列名をカンマで区切って
記述します。
では、早速作ってみましょう。
ストアドプロシージャの「デザインを使用してストアドプロシージャを
作成する」をダブルクリックします。
下記のsp_担当者マスタ_getのストアドプロシージャをコピーペースト
して貼り付けます。
Alter Procedure sp_担当者マスタ_get
(
@担当者コード int
)
As
select * from 担当者マスタ
where 担当者コード = @担当者コード
return
「sp_担当者マスタ_get」 の名前で保存します。
実行してみましょう。
5.「sp_担当者マスタ_get」をダブルクリックします。
「パラメータの入力」の画面が出てきますので入力していきます。
2−1.担当者コードに 「1」 と入力して「OK」をクリックします。
2−2.担当者コード”1”、担当者名”高橋”、カナ名”タカハシ”の
画面が表示されます。
担当者を読み出すことができました。
最終的には担当者コード、担当者名、カナ名の項目をフォームに
作成してストアドプロシージャをVBAに記述して完成させます。
各項目を入力して ”sp_担当者マスタ_ins” を使って登録ボタンを
クリックすることで担当者を書き込みます。
担当者コードを入力して ”sp_担当者マスタ_get” を使って
担当者を読み出します。
次回も引き続きストアドプロシージャです。
担当者マスタを変更、削除をしてみます。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
Accessで作るクラサバシステムの解説書または開発ガイドとしてお使いください。
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|