关于Oracle返回最近插入的自增长字段值 |
Top Previous Next |
对于大多数数据库,都有直接的自增长数据类型,只需要设置某个字段的类型为自增长,当插入记录时,都将能得到返回的最近插入自增长字段值。
Oracle数据库比较特别,因为,Oracle数据库没有直接的自增长数据类型,而必须使用Sequence来处理自增长。
要让NBearLite支持Oracle的自增长字段,必须为每个包含自增长ID字段的表,像下面这样,建立一个专门用于ID字段自增长的Sequence:
CREATE SEQUENCE SEQ_{TABLENAME};
CREATE OR REPLACE TRIGGER {TABLENAME}_AUTOINCREMENT BEFORE INSERT ON "{TABLENAME}" FOR EACH ROW WHEN (NEW.{ID} IS NULL) BEGIN SELECT SEQ_{TABLENAME}.CURRVAL INTO :NEW.{ID} FROM DUAL; END;
其中,{TABLENAME}为表名,{ID}为自增长字段名称。
只要这样建立好Sequence,就可以和其他数据库一样,在插入记录时,返回最近插入的自增长字段值了。
插入记录的语法参见:Database.Insert()。 |