- PR -

SQLServer ストアドのパラメータで使用できるデータ型

1
投稿者投稿内容
あきこ
会議室デビュー日: 2008/03/07
投稿数: 12
投稿日時: 2008-03-23 11:01
いつもお力をいただき、ありがとうございます。

SQLServer2005EX、ACCESS2003 で開発しています。

ストアドで取得したレコードセットの値に対し、ACCESS側で修正を行い、またSQLServer側に返す処理をしています。

データ取得用ストアドと、データ更新用ストアドを作成すればよいのかと思い、
データ取得用ストアドは作成できました。

データ更新用ストアドなのですが、
ストアドのパラメータのデータ型を調べたところ、
「table 型を除くすべてのデータ型」が使用できる、とのことでした。
table型以外・・・ということは、レコードセットの形(というのでしょうか)ではパラメータとして渡せない、ということでしょうか?
レコード1件ずつ処理し、その都度ストアド呼出しないといけないのでしょうか?

レコードセットの形で一度に渡せれば、ストアド側でテーブルUPDATE1回ですむのになぁ、と思い、ご質問させていただきました。

どうか、よろしくお願いいたします。
未記入
大ベテラン
会議室デビュー日: 2008/02/07
投稿数: 115
投稿日時: 2008-03-23 23:16
ビューと INSTEAD OF トリガで似たようなことが実現できます。

ビューはデータ受信用なので行を返す必要はありません。top 0 を指定して、from 句も不要。select 句で受信したい列名と型を指定します。型の指定は null を必要な型に cast することでおこないます。そして、ビューに INSTEAD OF トリガを作成します。トリガでは inserted テーブルに送信されてきたデータが入っているので、これを適当に調理してください。

ACCESS2003 から SQL Server 2005 に送りたいデータは、上記で作成したビューに insert します。
あきこ
会議室デビュー日: 2008/03/07
投稿数: 12
投稿日時: 2008-03-25 09:43
ご回答ありがとうございました!

ビューは、データの参照とSQL文の確認でしか使用したことがありませんでした・・・
INSTEAD OF トリガ については、初めて聞きました!

INSTEAD OF トリガ について、勉強させてください。
結果、おそらく遅くはなるかと思いますが、こちらにご報告させてください。

本当に、ありがとうございました!
1

スキルアップ/キャリアアップ(JOB@IT)