レコードソースとしてのストアドプロシージャ作成の注意
ストアドプロシージャの中でSELECT文が実行され、その返されるレコードセットに対してフォームの連結を行なうことができます。ただし、更新可能な連結を行なうためには注意が必要です。
SELECT文で返されるレコードセットの各レコードがユニークであり(必ず主キーフィールドを含めること)、しかもSELECT文実行後のレコードセットと、SELECT文実行前のレコードセット(検索条件を与える前のテーブル)が、1対1で対応していることが条件です。クライアント側でレコードを修正したら、そのレコードがどのテーブルのどのレコードに対応しているのかを特定できなければ、更新可能なレコードセットにはなりません。
結局のところ、Accessでいう更新可能な選択クエリーと同じ条件のSELECT文がストアドプロシージャの内部で実行されているかどうかということになります。
ただし、ストアドプロシージャの内で2つ以上のテーブルを結合させた場合は注意が必要です。これは、医者と患者のテーブルの例で解説します。