我必须为Oracle创建一个模式,为SQL Server创建另一个模式。使用alter table
修改默认值(日期)是否更好,或者我应该使用触发器,因为Oracle使用SYSDATE
而SQL Server使用GETDATE()
答案 0 :(得分:0)
我认为通常最好使用默认值,而不使用触发器(我的意见是仅在严格必要时使用触发器)。此外,MSSQL和ORACLE之间的触发器差异比使用DEFAULT SYSDATE而不是DEFAULT GETDATE()要求更多关注。
另一方面,如果您没有使用insert命令传递任何值,则仅使用默认值:使用触发器,您可以根据需要更改值。
我面临着类似的问题(对于同一个应用程序,我们有两个数据库版本,MSSSQL和ORACLE),在这种情况下,我们使用DEFAULT值作为插入日期(例如,列DATA_INS)并触发更新日期(列DATA_UPD)记录。