我需要修改一些列的默认值

时间:2017-02-08 17:49:05

标签: sql sql-server database oracle

我必须为Oracle创建一个模式,为SQL Server创建另一个模式。使用alter table修改默认值(日期)是否更好,或者我应该使用触发器,因为Oracle使用SYSDATE而SQL Server使用GETDATE()

1 个答案:

答案 0 :(得分:0)

我认为通常最好使用默认值,而不使用触发器(我的意见是仅在严格必要时使用触发器)。此外,MSSQL和ORACLE之间的触发器差异比使用DEFAULT SYSDATE而不是DEFAULT GETDATE()要求更多关注。

另一方面,如果您没有使用insert命令传递任何值,则仅使用默认值:使用触发器,您可以根据需要更改值。

我面临着类似的问题(对于同一个应用程序,我们有两个数据库版本,MSSSQL和ORACLE),在这种情况下,我们使用DEFAULT值作为插入日期(例如,列DATA_INS)并触发更新日期(列DATA_UPD)记录。