我维护最初写入SQL Server特定的应用程序(使用身份字段)。因此,我们必须定义许多触发器来自动增量表的主要键。

有人告诉我,这被认为是甲骨文世界中的一个黑客解决方法,但这是通过“朋友的朋友”方式告诉我的。使用触发器从序列中递增主键而不是直接使用序列有多大的交易?

有帮助吗?

解决方案

就我的经验而言,这是一种非常普遍的做法,也不是一个非常糟糕的做法。但是,如果您可以控制插入物(例如,如果所有插入物都是通过PL/SQL API完成的),则直接在插入语句中使用序列更有效 - 因为它避免了触发触发器的开销。但是,如果您使用触发器,我真的不会过度担心!

其他提示

这可能不是完全相关的,但是使用“在插入触发器”到自动插入的主键是一个不错的选择,尤其是在合并语句中。如果直接在合并插入部分中使用序列,则该序列即使是为了更新而调用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top