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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
COBOL等でのHIGH_VALUEについて
IT・エンジニアリング
-
COBOLの改行
その他(プログラミング・Web制作)
-
COBOLのMOVEで桁数が異なる場合
その他(プログラミング・Web制作)
-
-
4
COBOLでのNOT = の AND条件
その他(プログラミング・Web制作)
-
5
COBOLの基本的な事なのですが。。。
その他(プログラミング・Web制作)
-
6
COBOLの文法
その他(プログラミング・Web制作)
-
7
COBOLのCOMP形式について
その他(プログラミング・Web制作)
-
8
COBOLで文字タイプを数字タイプに変換する方法
その他(プログラミング・Web制作)
-
9
COBOL
その他(プログラミング・Web制作)
-
10
COBOLの数字チェック
その他(プログラミング・Web制作)
-
11
COBOL 9(02)で定義した変数にマイナス値をセットすると?
その他(プログラミング・Web制作)
-
12
COBOLの連絡領域について
その他(プログラミング・Web制作)
-
13
COBOLについて
その他(プログラミング・Web制作)
-
14
COBOLでのランダムアクセス
その他(プログラミング・Web制作)
-
15
COBOLの計算方法
その他(プログラミング・Web制作)
-
16
JCLの基本について教えてください
その他(プログラミング・Web制作)
-
17
COBOLでBLOCK CONTAINS句について教えて下さい!
その他(プログラミング・Web制作)
-
18
S9タイプからXタイプにデータは移行できるのか。(COBOL)
その他(プログラミング・Web制作)
-
19
COBOL数値転記の仕様
その他(プログラミング・Web制作)
-
20
COBOLのCALL文がいまいちつかめません。
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WORD VBA プログラム修正をお願...
-
C# OleDbDataAdapter.Fillメソ...
-
COBOLのINVALID KEYが理解でき...
-
Accessで別mdbのテーブルをコピー
-
HTMLのテーブルの行数が多くな...
-
CSVファイルのエクスポートでソ...
-
DataGridViewに複数テーブルの...
-
Sinテーブルの値からAtan等の値...
-
ワークテーブルの作成について
-
ACCESSのテーブル名をリストに...
-
種類別のテーブル作成方法について
-
AccessからExcelへエクスポート...
-
VBA 変数名に変数を使用したい。
-
VB6.0の「vbFromUnicode」はVB....
-
accessでフィールド追加のあと...
-
【VB.NET】Excelの最終行までの...
-
Accessのフィールド名に半角括...
-
【VB】コンボボックスにデータ...
-
コンボボックスのインデックス...
-
配列の要素がすべてカラかどう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
他のMDBのテーブルに追加したい
-
SQLを発行とは?クエリの作成と...
-
手動または分散トランザクショ...
-
HTMLのテーブルの行数が多くな...
-
エクセルのテーブルを解除する...
-
ExcelVBAからAccessMDB内のテー...
-
Excel複数シートをaccessへ一括...
-
DataGridの中身をDataSetにテー...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
.net 複数の主キーを設定する方法
-
『列名 '担当者CD' があいま...
-
COBOLのINVALID KEYが理解でき...
-
アクセステーブル、リンクとロ...
-
ACCESSのテーブル名をリストに...
-
MDBテーブルへの追加変更を教え...
-
【ADO】「Execute」を使うと...
-
ACCESS2010 実行時エラー 2766
おすすめ情報