2017-02-08 9 views
0

Oracle用のスキーマとSQL Server用のスキーマを作成する必要があります。それは、(日付)デフォルト値を変更するためにalter tableを使用することをお勧めします、または私はトリガを使用する必要があり、OracleがSYSDATEを使用し、SQL ServerがGETDATE()一部の列の既定値を変更する必要があります

+0

構文が異なる場合でも、トリガーを使用するよりも、デフォルト値を作成または変更する方がよいです。デフォルト値に異なる構文を使用した場合の欠点は何ですか? (おそらく既にトリガーの欠点を知っているでしょう) – mathguy

+1

トリガーの構文は変わりません。 –

+0

いいえ、私はそれがデフォルト値を必要とするすべての列(日付)の "ALTER TABLE"を作成しているので、良いことが分かりました。 – Cristian18

答えて

0

を使用していますので、私は(一般的に、それはより良いトリガーを使用せず、デフォルト値を使用することだと思います厳密に必要な場合にのみトリガーを使用することです)。さらに、MSSQLとORACLE間のトリガの違いは、DEFAULT GETDATE()ではなくDEFAULT SYSDATEを使用するよりも注意が必要です。

一方、デフォルト値は、insertコマンドで値を渡さない場合にのみ使用されます。トリガでは、必要に応じて値を変更できます。

私は同様の問題(同じアプリケーション用に2つのDBバージョン、MSSSQLとORACLEを持っています)に直面しています。この場合、挿入日付(例:列DATA_INS)にDEFAULT値を使用し、列DATA_UPD)を含む。

関連する問題