
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で質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) ネットワーク上のエクセルとリンクしている時にデータ更新をvbaで、refresh Allで行う場合の 2 2023/04/10 05:39
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
このQ&Aを見た人はこんなQ&Aも見ています
-
【COBOL】read文でエラー
その他(プログラミング・Web制作)
-
COBOLのMOVEで桁数が異なる場合
その他(プログラミング・Web制作)
-
COBOLの文法
その他(プログラミング・Web制作)
-
-
4
COBOLの計算方法
その他(プログラミング・Web制作)
-
5
COBOL 9(02)で定義した変数にマイナス値をセットすると?
その他(プログラミング・Web制作)
-
6
COBOLのCOMP形式について
その他(プログラミング・Web制作)
-
7
COBOLの改行
その他(プログラミング・Web制作)
-
8
COBOLでのランダムアクセス
その他(プログラミング・Web制作)
-
9
COBOLでのNOT = の AND条件
その他(プログラミング・Web制作)
-
10
COBOLについて
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
『列名 '担当者CD' があいま...
-
SQLを発行とは?クエリの作成と...
-
エクセルのテーブルを解除する...
-
手動または分散トランザクショ...
-
VBからMDBのアクセス
-
VBとアクセスでSQL文に変...
-
ACCESS2010 実行時エラー 2766
-
アクセステーブル、リンクとロ...
-
Access2003VBA リンクテーブル...
-
更新時の「同時実行エラー」の対策
-
DataGridViewで変更した値を反...
-
DataGridViewに複数テーブルの...
-
ExcelVBAからAccessMDB内のテー...
-
DataGridViewに画像を表示する方法
-
VB.NET コマンドの使い回しに問...
-
「テーブルに主キーがありませ...
-
[C#] DataGridViewでコンボボッ...
-
DAOでフィールドのデータ型を変...
-
AccessからExcelへエクスポート...
-
Accessのフォームでリス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
『列名 '担当者CD' があいま...
-
VBとアクセスでSQL文に変...
-
SQLを発行とは?クエリの作成と...
-
ExcelVBAからAccessMDB内のテー...
-
[C#] DataGridViewでコンボボッ...
-
エクセルのテーブルを解除する...
-
ACCESS2010 実行時エラー 2766
-
CSVファイルのエクスポートでソ...
-
他のMDBのテーブルに追加したい
-
AccessからExcelへエクスポート...
-
Accessで別mdbのテーブルをコピー
-
手動または分散トランザクショ...
-
★クリスタルレポートの元になる...
-
COBOLのINVALID KEYが理解でき...
-
Accessで宛名ラベルに同一宛先...
-
DataGridViewに複数テーブルの...
-
.net 複数の主キーを設定する方法
-
Excel複数シートをaccessへ一括...
-
アクセステーブル、リンクとロ...
-
VB.NETでのAccessテーブルリンク
おすすめ情報