
COBOLを使ったプログラミングをすることになりました。
全くプログラミング未経験の新卒でして、三ヶ月の研修でjava、PHP、SQLあたりは多少触れましたがほぼほぼど素人です。
練習課題としてINVALID KEY句を使った索引読みをし、別テーブルからデータを持ってきて更新するプログラムを作っているのですが、仕組みがいまいちわからず大変苦戦しています。
MOVE キーとして欲しい値 TO KEY項目.
READ テーブル
INVALID KEY
該当しないデータだったときの処理
NOT INVALID KEY
該当するデータだったときの処理
END-READ.
というような感じだよと(すみません、これも良く分かっておりません)教わったのですが、なぜこれで狙ったレコードを引き出すことができるのでしょう?
例えば会社コード・会社名・住所が入ったデータテーブルAと、幾つかの会社コードだけが登録されたテーブルBがあったとして、Aの会社コードがキー項目になっていたとします。
その場合はBの会社コードをAの会社コードにMOVEし、AをREADする…という流れになると思うのですが、
1、もしAテーブルにおいてMOVEされた会社コードに該当するコードが4行目にあったとしてもいきなり4行目を読んできてくれるのですか?
2、参考サイトなどを見ると「これをキーにして読む」「キーがあれば読む」と書いてあったりするのですが、そもそもキーにする、キーがある・ないというのはどういうことでしょうか?
3、冒頭のMOVEというのはどこに対してMOVEしているのですか?KEY項目というのはWORKING SECTIONで宣言した変数の一つだと思うのですが、これがどうしてテーブルデータを読むときに作用するのですか?
どれもこれも的外れな質問かもしれませんが、本当に困っています。
どうかご教授のほどよろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こういうようなシステムですか?
https://www.support.nec.co.jp/DownLoad.aspx?file …
データーベース機能の部分に詳細な記述があります。これを手掛かりに理解できるかもしれません。(COBOLは使ったことがありませんのであしからず。COBOLは古い言語ですからCOBOLに組み込まれているDATABASEシステムによってやり方が統一されていないのでは?)
No.1
- 回答日時:
昔の記憶を頼りに書いているので間違っているかもしれませんが、
>1、もしAテーブルにおいてMOVEされた会社コードに該当するコードが4行目にあったとしてもいきなり4行目を読んできてくれるのですか?
MOVEしただけでは読み込まれません。
READして読み込まれます。
> 2、参考サイトなどを見ると「これをキーにして読む」「キーがあれば読む」と書いてあったりするのですが、そもそもキーにする、キーがある・ないというのはどういうことでしょうか?
テーブルの定義を最初に行っていると思いますがそこでキー項目の設定を行っています。
> 3、冒頭のMOVEというのはどこに対してMOVEしているのですか?KEY項目というのはWORKING SECTIONで宣言した変数の一つだと思うのですが、これがどうしてテーブルデータを読むときに作用するのですか?
2、同様テーブルの定義を行うときにキー項目の定義も行っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【COBOL】read文でエラー
その他(プログラミング・Web制作)
-
COBOLの改行
その他(プログラミング・Web制作)
-
COBOLのCOMP形式について
その他(プログラミング・Web制作)
-
-
4
COBOLでのランダムアクセス
その他(プログラミング・Web制作)
-
5
COBOL PICTUREで X,S,Vの意味
その他(プログラミング・Web制作)
-
6
COBOLでのNOT = の AND条件
その他(プログラミング・Web制作)
-
7
COBOLの基本的な事なのですが。。。
その他(プログラミング・Web制作)
-
8
COBOLの計算方法
その他(プログラミング・Web制作)
-
9
JCL(富士通/MSP)について教えてください。
その他(プログラミング・Web制作)
-
10
COBOLのMOVEで桁数が異なる場合
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLを発行とは?クエリの作成と...
-
★クリスタルレポートの元になる...
-
AccessからExcelへエクスポート...
-
COBOLのINVALID KEYが理解でき...
-
『列名 '担当者CD' があいま...
-
CSVファイルのエクスポートでソ...
-
html javascriptにてWeb SQLを...
-
他のMDBのテーブルに追加したい
-
accessでcommitができますか?
-
DataGridViewに複数テーブルの...
-
ExcelVBAからAccessMDB内のテー...
-
エクセルのテーブルを解除する...
-
DAOでフィールドのデータ型を変...
-
オラクルデータベースへの更新方法
-
Access VBA について質問があ...
-
VBとアクセスでSQL文に変...
-
DAOの作成単位について
-
VBAコンボボックスの内容が反映...
-
動的配列VBAについて
-
VB.NETの配列にExcelから読み込...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
『列名 '担当者CD' があいま...
-
SQLを発行とは?クエリの作成と...
-
手動または分散トランザクショ...
-
DataGridViewに複数テーブルの...
-
VBとアクセスでSQL文に変...
-
[C#] DataGridViewでコンボボッ...
-
COBOLのINVALID KEYが理解でき...
-
[CakePHP]複数テーブルのアソシ...
-
ACCESS2010 実行時エラー 2766
-
★クリスタルレポートの元になる...
-
他のMDBのテーブルに追加したい
-
AccessからExcelへエクスポート...
-
ExcelVBAからAccessMDB内のテー...
-
エクセルのテーブルを解除する...
-
ワークテーブルの作成について
-
Accessで別mdbのテーブルをコピー
-
Access2007でアプリケーション...
-
DAOの作成単位について
-
CSVファイルのエクスポートでソ...
-
アクセステーブル、リンクとロ...
おすすめ情報