十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1 可以
成都创新互联于2013年开始,是专业互联网技术服务公司,拥有项目成都网站建设、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元浚县做网站,已为上家服务,为浚县各地企业和个人服务,联系电话:18982081108
2 也可以不用触发器,用存储过程也可以。
页面点击删除,调用一个存储过程。 存储过程中把两个delete语句写在一起。
delete from student ....
delete from grade ....
commit; (这两句就相当于一个事务)
异常处理中写rollback,以防有问题删除不成功可以回滚。
需要在两个表间创建外键,并且设置成级联更新。
--创建class表
create table CLASS
(ID VARCHAR2(2) not null,
CLASS_NAME VARCHAR2(20));
--设置ID字段为主键
alter table CLASS add constraint PK_CLASS primary key (ID);
--创建STUDENTS表
create table STUDENTS
(ID VARCHAR2(4) not null,
CLASS_ID VARCHAR2(2) not null,
STU_NAME VARCHAR2(20),
STU_AGE NUMBER);
--设置ID字段为主键
alter table STUDENTS add constraint PK_STU primary key (ID);
--设置CLASS_ID字段为外键,并设置级联更新
alter table STUDENTS add constraint FK_STU foreign key (CLASS_ID) references CLASS (ID) on delete cascade;
这样以后,当CLASS表中额ID字段变化的时候,STUDENTS表中的CLASS_ID就会随之变化。
外键只能是参照表的主键,所以应该参照userid,要参照uname只能用触发器。
create table users (userid primary key,uname unique)
go
create table board (bid primary key,bhost, foreign key(bhost) references users(userid) on delete CASCADE on update CASCADE)