因为在程序中要用到唯一字段,该字段的值是通过一序列得到.
现有两种办法:第一种是在程序代码中先从该序列中取出值,然后再赋于该新值列中.
另一种方法是直接写一触发器.在该表的 before insert中从触发器中得到该字段值.
其实此二种方法都可以达到同样的结果.但出于对系统的维护(可读性)及升级来说,本人倾向于第一种方法.望大家给出自己的意见.

解决方案 »

  1.   

    其实我不赞成用触发器达到此功能主要有两个原因:
    第一:触发器的建立对于数据库的运行速度会有一定影响.
    第二:也是最主要的原因.如果采用第二种方法,我在查看代码的时候,在insert语句中不会加入该字段,就不会清楚的知道到底对该字段如何赋值,且根本无法知道此唯一字段是根据哪个序列来的.(当然,另加注释可以起到此作用),除非注释非常之详尽,否则数月或者换为他人来看,需切换在delphi及oracle的管理器中才能明白当初是如何赋值的.