- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:COBOLソースに記述するホスト変数を使用したSELECT INSER)
COBOLソースに記述するホスト変数を使用したSELECT INSERT
このQ&Aのポイント
- COBOLのソースに記述するホスト変数を使用したSELECT INSERT分についての制御や結果について教えてください。
- SELECTを行った項目数とINTO句に指定した変数の数が異なる場合のエラーについても教えてください。
- DBMSは「symfoware」を使用しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一個の列の設定や受け取りで、 :値の受け取り変数[:標識変数] といった書き方をします。 標識変数は、列の値が「null」なのか「nullでない有効な値」なのかを判別するために使います。 標識変数が負であれば、受け渡しをしようとした列値がnullという意味になります。この場合、列値の受け渡し変数の値は、保証されません。 標識変数の値が0であったり、正の数値なら、nullでない有効な列値が返されているという意味になります。 標識変数の値の具体的な意味については、お使いのRDBMS、コンパイラのマニュアルを参照してください。
その他の回答 (1)
- SaKaKashi
- ベストアンサー率24% (755/3136)
回答No.1
:H1010:H2020と記述した場合には、値があればH1010に入って、H2020は正の整数が設定されます。 値がNULLの場合にはH1010は元の値のままで、H2020に負の整数が設定されます。 ですから、SELECT後には、最初にH2020を判定して、正の整数ならH1010の値を利用します。 H2020が負の場合には、H1010に値がない場合の処理をします。
質問者
お礼
なるほど。後ろに記述した変数にはSELECT結果がNULLかどうかの判断結果が代入されるのですね。 直前でイニシャライズしていたので気付きませんでした。 分り易いご説明ありがとうございます。助かりました。
お礼
標識変数ですか。 初めて聞く単語なのでちょっと戸惑いましたが、丁寧なご説明ありがとうございます。 勉強不足で申し訳ないです。 助かりました。ありがとうございます。