Files
cobol-java-v3/black-box-data-create/rules/pgm_pattern/SELECT処理.md
T
2026-08-23 10:46:56 +08:00

51 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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开始。禁止添加本规则未定义的组,禁止缺组。