アプリ版:「スタンプのみでお礼する」機能のリリースについて

COBOL上(NETExepress5.0)にSQL構文を埋め込んでプログラムを作っています。

DELETE文を発行して、そのDELETE件数を取得して、DISPLAY文に表示したいのですが、
どのようにすればよいでしょうか。


DELETE文(COBOL文中)
例)
 EXEC SQL DELETE FROM テーブル名
 END-EXEC

先にSELECT COUNT(*) FROM テーブル名
とかしてもかまわないです。


よろしくお願いします。

A 回答 (3件)

No.2です。


不確かですがCOBOLでROWCOUNTは使えなかったような気がするので…

SELECT COUNT(*) INTO :ホスト変数 FROM テーブル名
DISPLAY ホスト変数
    • good
    • 0
この回答へのお礼

色々、試行錯誤を繰り返し、ようやくたどり着いた結果が次の通りです。

EXEC SQL DELETE FROM テーブル名
END-EXEC
IF SQLCODE = ZERO
DISPLAY SQLERRD(3)
END-IF

といった感じなら件数を取得できました。

他にやり方はあるのでしょうが、上記で十分使えます。


教えていただいたホスト変数のも試してみます。

お礼日時:2013/12/04 21:55

「ホスト変数」を使う。

この回答への補足

ありがとうございます。

「ホスト変数」をどうCOBOLに使えばいいのかがよく分からないのです。

申し訳ありませんが、具体例など沿えていただければ幸いです。

補足日時:2013/12/03 21:23
    • good
    • 0

先にSELECT COUNT(*) FROM テーブル名


とかしてもかまわないです。

問題は起こらないかもしれませんが、実際に消えた件数がROWCOUNTに返ってきますので
こちらをおすすめします。

この回答への補足

maiko0318さん

有難うございます。


ROWCOUNTに件数をもっているということはわかっているのですが、
実際にCOBOLにどう表現していいものか教えていただきたいのです。

取得した件数をDISPLAY文に表したのです。

言葉足らずで申し訳ありませんでした。

よろしくお願いします。

補足日時:2013/12/03 13:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!