我现在oralce数据库里 有20多个表,需要实时的(2秒)每个表存入几十条记录,这样如果建立表的主键呢,开始我想用时间做主键,但如果在一秒内 存入几十条,那么这个是不行的。然后我用序列的方式 sequence ,1 到 9999999999
然后在每个表里建立触发器,这样每个表每插入一行记录,就让序列递增一下。
但是我发现这种方法,每个表都有触发器,不是说触发器尽量不要用吗
我怕万一某一个触发器出问题了,那么与那个触发器关联的表就死了,就不能插入了
这样就麻烦了。所以想问问大家有什么别的好办法吗?!请详细说说
然后在每个表里建立触发器,这样每个表每插入一行记录,就让序列递增一下。
但是我发现这种方法,每个表都有触发器,不是说触发器尽量不要用吗
我怕万一某一个触发器出问题了,那么与那个触发器关联的表就死了,就不能插入了
这样就麻烦了。所以想问问大家有什么别的好办法吗?!请详细说说
用时间作为主键,我认为to_char(sysdate,'YYYY-MM-DD HH24:MI:SSSSS')可以满足你的要求,
只要多加几个S应该就可以了。
IF :new.ID IS NULL or :new.ID=0 THEN
select ADDID.nextval
into nextid
from sys.dual;
:new.ID:=nextid;
end if;
END回1楼的朋友,我在触发器里是这么写的,如何不用触发器来弄呢,直接读 序列?!回5楼的朋友,2秒实时插入我是在高级语言里实现的。