• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:COBOLソースに記述するホスト変数を使用したSELECT INSER)

COBOLソースに記述するホスト変数を使用したSELECT INSERT

このQ&Aのポイント
  • COBOLのソースに記述するホスト変数を使用したSELECT INSERT分についての制御や結果について教えてください。
  • SELECTを行った項目数とINTO句に指定した変数の数が異なる場合のエラーについても教えてください。
  • DBMSは「symfoware」を使用しています。

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

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

一個の列の設定や受け取りで、 :値の受け取り変数[:標識変数] といった書き方をします。 標識変数は、列の値が「null」なのか「nullでない有効な値」なのかを判別するために使います。 標識変数が負であれば、受け渡しをしようとした列値がnullという意味になります。この場合、列値の受け渡し変数の値は、保証されません。 標識変数の値が0であったり、正の数値なら、nullでない有効な列値が返されているという意味になります。 標識変数の値の具体的な意味については、お使いのRDBMS、コンパイラのマニュアルを参照してください。

midonji
質問者

お礼

標識変数ですか。 初めて聞く単語なのでちょっと戸惑いましたが、丁寧なご説明ありがとうございます。 勉強不足で申し訳ないです。 助かりました。ありがとうございます。

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

:H1010:H2020と記述した場合には、値があればH1010に入って、H2020は正の整数が設定されます。 値がNULLの場合にはH1010は元の値のままで、H2020に負の整数が設定されます。 ですから、SELECT後には、最初にH2020を判定して、正の整数ならH1010の値を利用します。 H2020が負の場合には、H1010に値がない場合の処理をします。

midonji
質問者

お礼

なるほど。後ろに記述した変数にはSELECT結果がNULLかどうかの判断結果が代入されるのですね。 直前でイニシャライズしていたので気付きませんでした。 分り易いご説明ありがとうございます。助かりました。

関連するQ&A