在Oracle中模拟ms Sql 中的自动增加字段

在Oracle中模拟ms Sql 中的自动增加字段

方法原理:建立一个与表字段对应的序列,再建立一个插入前的触发器,使在插入前得到一个序列值,实现字段的自动增长列,不需手工干预。建立的触发器如下:

CREATE Or REPLACE TRIGGER 触发器名 before
        INSERT ON 表名
        FOR EACH ROW
BEGIN
        SELECT 序列名.NEXTVAL into :new.字段名 FROM dual;

       --IF :new.字段名 IS NULL THEN
        --    SELECT 序列名.NEXTVAL into :new.字段名 FROM dual;
       --END IF;
END;

经过以上的处理,这个字段将不接受手工值,如果想让字段在没有值的情况下才取序列值的话,请用下面注释掉的语句,即先判断一下,这个字段是否为null。

posted @ 2007-03-15 15:08  81  阅读(458)  评论(0)    收藏  举报