Oracle 10gでは、テーブルでDATE
タイプを使用すると問題が発生しました。 DATE
フィールドストアのみDATE
に時間をかけずに自動的に保存したいだけです。
解決策はたくさんあります。TO_CHAR
およびTO_DATE
またはTRUNC
ですが、データの挿入または更新に多くの手順を使用しており、それらすべてを更新する時間がないことに直面しました。
この問題を解決するにはどうすればよいですか?
最善の解決策は次のとおりです。
dATE列からすべての時間を削除します(update yourtable set yourdatecolumn = trunc(yourdatecolumn)
)
check (yourdatecolumn = trunc(yourdatecolumn))
を使用して列にチェック制約を設定することにより、すべての将来の日付に時間部分が含まれないようにします
すべてのINSERTおよびUPDATEステートメントを調整するか、運が良ければAPIを調整して、TRUNCされた日付のみを挿入します。
最も簡単な解決策は次のとおりです。
(オプション)DATE列からすべての時間を削除します。
:new.yourdatecolumn := trunc(:new.yourdatecolumn);
を設定する前の行挿入または更新データベーストリガーを作成する