问题有点多: 1.没看见你见这个sequence:Seq_student 2.:new sno 3.drop table student; 帮你修改了一下: create table Student ( sno number primary key, sname varchar2(30) not null, sex char(10) check(sex='男'or sex='女'), birthday date , dno number, foreign key(dno) references Dep(dno) );create sequence Seq_student start with 1 increment by 1;create or replace trigger Rep_student before insert on student for each row begin select Seq_student.nextval into :new.sno from dual; end Rep_student;注意插入值时候外键约束
你的 trigger Rep_Dep中 select Seq_student.nextval into:new sno from dual; 应该是 select Seq_student.nextval into:new.sno from dual; 而且你发的这些代码没有Seq_student这个序列 create sequence Seq_student start with 1 increment by 1;
直接用DEFAULT .NEXTVAL,满足不了需求?
:new.sno 少了个点吧。
我看到的两处错误 select Seq_student.nextval into:new sno from dual Seq_student改为Seq_Dep new sno 少了一个点new.sno
1.没看见你见这个sequence:Seq_student
2.:new sno
3.drop table student;
帮你修改了一下:
create table Student
(
sno number primary key,
sname varchar2(30) not null,
sex char(10) check(sex='男'or sex='女'),
birthday date ,
dno number,
foreign key(dno) references Dep(dno)
);create sequence Seq_student
start with 1
increment by 1;create or replace trigger Rep_student
before insert on student
for each row
begin
select Seq_student.nextval into :new.sno from dual;
end Rep_student;注意插入值时候外键约束
应该是 select Seq_student.nextval into:new.sno from dual;
而且你发的这些代码没有Seq_student这个序列
create sequence Seq_student
start with 1
increment by 1;
select Seq_student.nextval into:new sno from dual
Seq_student改为Seq_Dep new sno 少了一个点new.sno