• ベストアンサー

SQLServer DELETE 件数取得

COBOL上(NETExepress5.0)にSQL構文を埋め込んでプログラムを作っています。 DELETE文を発行して、そのDELETE件数を取得して、DISPLAY文に表示したいのですが、 どのようにすればよいでしょうか。 DELETE文(COBOL文中) 例)  EXEC SQL DELETE FROM テーブル名  END-EXEC 先にSELECT COUNT(*) FROM テーブル名 とかしてもかまわないです。 よろしくお願いします。

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

  • ベストアンサー
回答No.3

No.2です。 不確かですがCOBOLでROWCOUNTは使えなかったような気がするので… SELECT COUNT(*) INTO :ホスト変数 FROM テーブル名 DISPLAY ホスト変数

kuriosprj
質問者

お礼

色々、試行錯誤を繰り返し、ようやくたどり着いた結果が次の通りです。 EXEC SQL DELETE FROM テーブル名 END-EXEC IF SQLCODE = ZERO DISPLAY SQLERRD(3) END-IF といった感じなら件数を取得できました。 他にやり方はあるのでしょうが、上記で十分使えます。 教えていただいたホスト変数のも試してみます。

その他の回答 (2)

回答No.2

「ホスト変数」を使う。

kuriosprj
質問者

補足

ありがとうございます。 「ホスト変数」をどうCOBOLに使えばいいのかがよく分からないのです。 申し訳ありませんが、具体例など沿えていただければ幸いです。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

先にSELECT COUNT(*) FROM テーブル名 とかしてもかまわないです。 問題は起こらないかもしれませんが、実際に消えた件数がROWCOUNTに返ってきますので こちらをおすすめします。

kuriosprj
質問者

補足

maiko0318さん 有難うございます。 ROWCOUNTに件数をもっているということはわかっているのですが、 実際にCOBOLにどう表現していいものか教えていただきたいのです。 取得した件数をDISPLAY文に表したのです。 言葉足らずで申し訳ありませんでした。 よろしくお願いします。

関連するQ&A