如果你创建序列是这样写的话:create sequence "Sequence_USERS"……那么你触发器中应该这样写:
select "Sequence_USERS".nextval into :new.USERID FROM dual;因为你创建序列时,给序列的名字有小写,那么使用时也必须明确小写。
select "Sequence_USERS".nextval into :new.USERID FROM dual;因为你创建序列时,给序列的名字有小写,那么使用时也必须明确小写。
create sequence Sequence_USERS
increment by 1
start with 1
maxvalue 9999999999
minvalue 1
nocycle
nocache
noorder
create sequence Sequence_GROUPROLE
increment by 1
start with 1
maxvalue 9999999999
minvalue 1
nocycle
nocache
noordercreate table T_GROUPROLE (
GROUPROLEID NUMBER not null,
GROUPROLE VARCHAR2(50),
ROLES NUMBER,
ISVALID CHAR(1) default '0',
constraint PK_T_GROUPROLE primary key (GROUPROLEID)
)create table T_USERS (
USERID NUMBER not null,
USERJC VARCHAR2(12),
constraint PK_T_USERS primary key (USERID)
)create trigger trig_GROUPROLE
before insert on T_GROUPROLE
for each row
begin
select Sequence_GROUPROLE.nextval into :new.GROUPROLEID FROM dual;
end;
create trigger trig_USERS
before insert on T_USERS
for each row
begin
select Sequence_USERS.nextval into :new.USERID FROM dual;
end;
这样生成了一个触发器trig_GROUPROLE,但我打开DBA来看,发现trig_GROUPROLE里面的语句包括了第二个触发器的内容,麻烦各位再给指点指点。
15
非要加一个 /才能退出。
退出后就报“创建的触发器带有编译错误”。