17,377
社区成员
发帖
与我相关
我的任务
分享
//创建触发器
CREATE OR REPLACE TRIGGER "userinfo_trig"
BEFORE INSERT ON userinfo
REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
DECLARE
BEGIN
SELECT userinfo_seq.NEXTVAL INTO :NEW.userid FROM DUAL;
END userinfo_trig;
--ps:你这个问题不在于分号吧,是你的创建有问题阿,看楼上的例子
首先:在oracle里创建序列
create sequence R_STAFF_ROLE_SEQ //序列名
minvalue 1 //最小值
maxvalue 99999999999 //最大值,一般这个足够用
start with 1 //开始值
increment by 1 //增量
cache 20 //缓存大小
order;
建表
CREATE TABLE test (
id number(11) primary key,
val varchar2(16)
);
其次:在oracle里编写触发器
CREATE OR REPLACE TRIGGER TRI_R_STAFF_ROLE
BEFORE INSERT ON R_STAFF_ROLE
FOR EACH ROW
BEGIN
SELECT R_STAFF_ROLE_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END ;
插入值
insert into admin(val) VALUES ('test1');
commit;