Microsoft Access 掲示板

条件付きのクエリ作成について / 13

15 コメント
views
13
mayu 2025/01/21 (火) 19:50:38 修正 fc5d2@6c788 >> 7

400ってリテラルもデータベース化できないですかね?

私が開発するなら、保守性や拡張性を考慮してテーブルへ落とし込みます
 

資格GRP集約名義プラス手当金適用可否
1手当A400TRUE
2手当B400TRUE
3手当C400TRUE
4手当D400TRUE
5手当E400TRUE

 
ただ、マスタ化するかどうかは要件次第ではないでしょうか

  1. 手当金の種類は1つだが、金額が変更される可能性がある
  2. 資格GRP毎に手当金が個別に変更される可能性がある
  3. SQL文に埋め込まれたリテラル値を 他のDBAが根拠や由来を理解できない可能性がある

いずれに該当するのか、これは上流工程で考慮するべき項目ですから
今回のご質問では、この部分のリスクヘッジには言及しませんでした

例えば、リスク1 だけを考慮する場合は
DB化せず、SQL内のリテラルを変数にしてカバーするよう手段を講じるかもしれませんね

+ PARAMETERS prm手当金 CURRENCY;
-          , Count(1) * 400
+          , Count(1) * CCur(Nz(prm手当金, 400))
通報 ...