CREATE SEQUENCE SEQname
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999
/
CREATE TRIGGER TRGname
BEFORE INSERT ON table_nameFOR EACH ROW
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.FIELDname
FROM DUAL;
End;
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999
/
CREATE TRIGGER TRGname
BEFORE INSERT ON table_nameFOR EACH ROW
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.FIELDname
FROM DUAL;
End;
其它可使用编一个存贮过程,
用程序调用该过程,插入记录时采用第二种方法动态传入参数id和TEMP_TABLE
需要替换那些名字? DUAL是哪的表?提示无效的触发器说明,什么意思?
名字是随便写吗?table_name是不是我的表名test,
SEQname.NEXTVAL INTO :NEW.FIELDname
中NEXTVAL,NEW.FIELDname又是从哪来的??
:NEW.FIELDname 新的插入的值 对删除没用
是你创建的序列的名字和触发器的名字
创建的时候名字当然是随便取得了
SEQname.NEXTVAL是取序列的下一个值
NEW.字段名 为当前插入的字段的值
都建立一个序列,或者多表使用一个序列.
可以在前台诸如:
strSeq:='select nextval from dual'
后台用触发器实现.