使用Oracle中的触发器模拟IDENTITY/AUTOINCREMENT列有多糟糕?

Jas*_*ker 3 oracle triggers identity sequences primary-key

我维护一个最初编写为SQL Server特定的应用程序(使用IDENTITY字段).因此,我们必须定义很多触发器来自动增加表的主键.

我被告知这在甲骨文世界被认为是一种愚蠢的解决方法,但这是在"朋友的朋友"中告诉我的.使用触发器从序列中增加主键而不是直接使用序列有多大?

Ton*_*ews 10

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