400ってリテラルもデータベース化できないですかね?
私が開発するなら、保守性や拡張性を考慮してテーブルへ落とし込みます
| 資格GRP | 集約名義 | プラス手当金 | 適用可否 |
|---|---|---|---|
| 1 | 手当A | 400 | TRUE |
| 2 | 手当B | 400 | TRUE |
| 3 | 手当C | 400 | TRUE |
| 4 | 手当D | 400 | TRUE |
| 5 | 手当E | 400 | TRUE |
ただ、マスタ化するかどうかは要件次第ではないでしょうか
- 手当金の種類は1つだが、金額が変更される可能性がある
- 資格GRP毎に手当金が個別に変更される可能性がある
- SQL文に埋め込まれたリテラル値を 他のDBAが根拠や由来を理解できない可能性がある
いずれに該当するのか、これは上流工程で考慮するべき項目ですから
今回のご質問では、この部分のリスクヘッジには言及しませんでした
例えば、リスク1 だけを考慮する場合は
DB化せず、SQL内のリテラルを変数にしてカバーするよう手段を講じるかもしれませんね
+ PARAMETERS prm手当金 CURRENCY;
- , Count(1) * 400
+ , Count(1) * CCur(Nz(prm手当金, 400))
通報 ...