解決済み

ストアドプロシージャについて

  • 困ってます
  • 質問No.6284
  • 閲覧数342
  • ありがとう数9
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 60% (3/5)

教えてください。
NT4.0上でAccess2000+MSDEで使用しているのです。
ストアドプロシージャでUPDATE文のあとにSELECT文を使い更新したデータを受け取ろうとしているのですが、実行すると「ストアドプロシージャは実行されましたがレコードは返されませんでした。」とメッセージが表示されるだけなのです。UPDATE文を注釈にするとレコードは返されるのでデータはあるのだと思います。
宜しくお願いします。

質問者が選んだベストアンサー

  • 回答No.3

ベストアンサー率 21% (4/19)

う~ん、確かにこれだけ見れば問題なさそうですね。
回答できないので、申し訳ないのですが、回避策としては、UPDATEとSELECTを逆転してSELECTしてからUPDATEしてはどうでしょうか。
SELECTのdataの部分をリテラル(固定)でSELECTし、その後、UPDATEしてみては?
このUPDATEとSELECT文だけですと、処理上、問題ないかとは思うのですが...
問題の回答になっておりませんが、上記の回避策などで対応できないでしょうか。
お礼コメント
Kata

お礼率 60% (3/5)

どうもありがとうございます。SELECTした後UPDATEで回避します。
投稿日時 - 0000-00-00 00:00:00
感謝経済

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 19% (15/78)

commitする必要はなのでしょうか?
commitで確定しなければ検索してもデータは抽出されないのではないでしょうか?
素人なのでわかりませんが。。。
アドバイスになってます??
  • 回答No.1

ベストアンサー率 21% (4/19)

これだけの情報では推測でしかお話できませんが、おそらく、UPDATE文を注釈にするとレコードは返されて、注釈にしなければレコードがないのでしたら、普通に考えると、そのUPDATE文が実行されたことにより、SELECT文の対象データが、対象データ以外の形に更新されているのではないでしょうか?
違うようであれば、そのSELECT文やUPDATE文の大体の内容を教えて頂けないでしょうか。
補足コメント
Kata

お礼率 60% (3/5)

質問が要領を得なくてすいません。
ストアドの内容は
Alter Procedure Data_Search
@KeyIndex int
As
UPDATE TABLE1 SET data='○○' WHERE [index]=@KeyIndex;
SELECT [index], data FROM TABLE1 WHERE [index]=@KeyIndex;
return
です。それとTABLE1は
[index] int
data nchar(桁数17)
です。その他のテーブル等はありません。このテーブルとストアドだけのデータベースです。
[index]を更新していないのでSELECT文で抽出されると思ったのですが抽出されないのです。
すいませんがもう一度よろしくお願いします。

投稿日時 - 2000-08-12 07:54:54
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数によるOK-チップ配布スタート!

ピックアップ

ページ先頭へ