Files
cobol-java-v3/black-box-data-create/rules/pgm_pattern/SELECT処理.md
T
2026-08-24 18:34:17 +08:00

2.5 KiB
Raw Blame History

SELECT処理 データ生成規則

概要

DBテーブルから条件付きSELECTでデータを取得し、取得結果に基づいて処理を行うプログラムのテストデータ。入力はDB(SELECT結果)であり、出力はSQL INSERTファイル。

本规则定义3组数据,覆盖基本匹配/非匹配、0件、NULL处理。

输入

  • 詳細設計書の処理詳細(SELECT文のWHERE条件)
  • DBテーブル定義(テーブル名、カラム、主キー)

生成データ組

用途 内容
1 基本データ SELECT条件にマッチするデータ + マッチしないデータ + 末尾多keyテスト
2 SELECT 0件(DB-N006 条件に合うレコードが0件になるデータ + 末尾多keyテスト
3 NULL処理(DB-A003 NULL項目を含むデータ(MOVE/FETCH時のNULL扱い確認)+ 末尾多keyテスト

多keyテスト

WHERE条件に複数キーが関わる場合、基準データに対し各キー項目のみ異なるN件を生成。マッチするパターンとマッチしないパターンの両方をカバー。

需要注意当key为n个项目组合而成时,需要追加n条数据。以基准数据的所有key为准,只有当前第n个key与基准不一致。保证key的比较没有问题。

例(n=3,基准 (a001, b001, c001)):

  • 追加1: (a002, b001, c001) → 仅第1个key不同
  • 追加2: (a001, b002, c001) → 仅第2个key不同
  • 追加3: (a001, b001, c002) → 仅第3个key不同

n为实际解析出的key项目数(例中n=3仅为示意,追加条数必须等于实际key项目数)。键项目数n=1时不追加多key测试数据。追加的每条记录必须恰好只改变一个key项目,且不得与既有记录完全重复。

データ生成手順

  1. SELECT文のWHERE条件を抽出
  2. 条件にマッチするレコードを生成(组1
  3. 条件にマッチしないレコード(境界値)を生成(组1)
  4. 条件に合うレコードが存在しないデータを生成(组2)
  5. NULL項目を含むデータを生成(组3
  6. 各組末尾に多keyテストデータを追加

注:存在しないテーブルへのSELECT(DB-A002)はSQL実行環境で確認する。

出力

每组1个SQL INSERT文件:{プログラムID}_g{groupId}.sql

组数约束:输出组数必须与本规则定义的3组一致(g1〜g3),组号连续从1开始。禁止添加本规则未定义的组,禁止缺组。