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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
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 プログラム修正をお願...
-
ExcelVBAからAccessMDB内のテー...
-
ExcelからAccessのテーブルに書...
-
ワークテーブルの作成について
-
(泣)VBscriptでinnerhtmlを使...
-
エクセルのテーブルを解除する...
-
C# OleDbDataAdapter.Fillメソ...
-
『列名 '担当者CD' があいま...
-
Access2003VBA リンクテーブル...
-
DataGridViewに複数テーブルの...
-
COBOLのINVALID KEYが理解でき...
-
SQL文の最後に「;」はいら...
-
Accessで別mdbのテーブルをコピー
-
vb ado → vb2005 ado.net変換
-
他のMDBのテーブルに追加したい
-
MDBテーブルへの追加変更を教え...
-
VBでコンボボックスとテキスト...
-
ACCESS2010 実行時エラー 2766
-
CSVファイルのエクスポートでソ...
-
HTMLのテーブルの行数が多くな...
マンスリーランキングこのカテゴリの人気マンスリー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
おすすめ情報