私は常に大文字である必要があるデータベース列を持っているとしましょう。ここで"Punish"開発者は自動的に修正しますか?トリガーと制約
は、アイデアのカップルです:
1)の列制約を作成します。col = UPPER(col)
2)を設定し、挿入/更新行の前にトリガーを作成します。通常複数の制約col = UPPER(col)
をデータベースデータの方が優れており、トリガーは不思議で悪いことがあります。コードを記述している開発者が同じ組織に属していると仮定して、記述したコードを変更することができます。
どのアプローチを使用しますか、その理由は何ですか?
問題のデータは実際には常に大文字であるため、大文字にする必要があります(元々はさまざまな第三者によってその方法で印刷されています)。この特定のフィールドでは、大文字と小文字の区別はありません。
いつも大文字にする必要がありますか?大文字と小文字を区別しない場合は、UPPER(col)にインデックスを作成するなどの3番目の解決策があるかもしれません。 –