- - PR -
SQLServer ストアドのパラメータで使用できるデータ型
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-03-23 11:01
いつもお力をいただき、ありがとうございます。
SQLServer2005EX、ACCESS2003 で開発しています。 ストアドで取得したレコードセットの値に対し、ACCESS側で修正を行い、またSQLServer側に返す処理をしています。 データ取得用ストアドと、データ更新用ストアドを作成すればよいのかと思い、 データ取得用ストアドは作成できました。 データ更新用ストアドなのですが、 ストアドのパラメータのデータ型を調べたところ、 「table 型を除くすべてのデータ型」が使用できる、とのことでした。 table型以外・・・ということは、レコードセットの形(というのでしょうか)ではパラメータとして渡せない、ということでしょうか? レコード1件ずつ処理し、その都度ストアド呼出しないといけないのでしょうか? レコードセットの形で一度に渡せれば、ストアド側でテーブルUPDATE1回ですむのになぁ、と思い、ご質問させていただきました。 どうか、よろしくお願いいたします。 |
|
投稿日時: 2008-03-23 23:16
ビューと INSTEAD OF トリガで似たようなことが実現できます。
ビューはデータ受信用なので行を返す必要はありません。top 0 を指定して、from 句も不要。select 句で受信したい列名と型を指定します。型の指定は null を必要な型に cast することでおこないます。そして、ビューに INSTEAD OF トリガを作成します。トリガでは inserted テーブルに送信されてきたデータが入っているので、これを適当に調理してください。 ACCESS2003 から SQL Server 2005 に送りたいデータは、上記で作成したビューに insert します。 |
|
投稿日時: 2008-03-25 09:43
ご回答ありがとうございました!
ビューは、データの参照とSQL文の確認でしか使用したことがありませんでした・・・ INSTEAD OF トリガ については、初めて聞きました! INSTEAD OF トリガ について、勉強させてください。 結果、おそらく遅くはなるかと思いますが、こちらにご報告させてください。 本当に、ありがとうございました! |
1