SQLite: trigger触发器
来源:互联网 发布:淘宝 卖家客服电话 编辑:程序博客网 时间:2024/06/05 01:07
--创建班级表
create table class
(
id integer primary key autoincrement, --班级编号
className nvarchar(50) --班级名称
);
--创建学生表
create table student
(
id integer primary key autoincrement, --编号
stuName nvarchar(20), --学生名称
stuSex bit, --性别
stuAge integer , --年龄
classId --班级编号
);
--创建插入触发器 (创建学生时要触发插入触发器去判断是否存在该班级,存在插入成功,反之插入失败)
create trigger fk_Insert
before insert on student
for each row
begin
select raise(rollback,'还没有该班级')
where (select id from class where id = new.classId ) is null;
end;
--创建更新触发器 (更新学生时要触发更新触发器去判断是否存在更新班级,存在更新成功,反之更新失败)
create trigger fk_Update
before update on student
for each row
begin
select raise(rollback,'还没有该班级')
where (select id from class where id = new.classId)is null;
end;
--创建删除触发器 (删除班级时,首先根据班级编号删除该班级学生)
create trigger fk_Delete
before delete on class
for each row
begin
delete from student where classId = old.classId;
end ;
insert into class(className) values('s1t64');
insert into student(stuName,stuSex,stuAge,classId)values('zhangsan',1,23,1);
update student set stuName='lishi',classId=1 where id = 1;
select * from class ;
select * from student limit 0,100 ; -- 分页查询从索引0开始查找,100条数据
create table class
(
id integer primary key autoincrement, --班级编号
className nvarchar(50) --班级名称
);
--创建学生表
create table student
(
id integer primary key autoincrement, --编号
stuName nvarchar(20), --学生名称
stuSex bit, --性别
stuAge integer , --年龄
classId --班级编号
);
--创建插入触发器 (创建学生时要触发插入触发器去判断是否存在该班级,存在插入成功,反之插入失败)
create trigger fk_Insert
before insert on student
for each row
begin
select raise(rollback,'还没有该班级')
where (select id from class where id = new.classId ) is null;
end;
--创建更新触发器 (更新学生时要触发更新触发器去判断是否存在更新班级,存在更新成功,反之更新失败)
create trigger fk_Update
before update on student
for each row
begin
select raise(rollback,'还没有该班级')
where (select id from class where id = new.classId)is null;
end;
--创建删除触发器 (删除班级时,首先根据班级编号删除该班级学生)
create trigger fk_Delete
before delete on class
for each row
begin
delete from student where classId = old.classId;
end ;
insert into class(className) values('s1t64');
insert into student(stuName,stuSex,stuAge,classId)values('zhangsan',1,23,1);
update student set stuName='lishi',classId=1 where id = 1;
select * from class ;
select * from student limit 0,100 ; -- 分页查询从索引0开始查找,100条数据
- SQLite: trigger触发器
- SQLite 触发器(Trigger)
- SQLite创建触发器 CREATE TRIGGER
- SQLite创建触发器 CREATE TRIGGER
- 触发器 trigger ..
- 触发器(Trigger)
- 触发器trigger
- 触发器trigger
- 触发器Trigger
- 触发器 trigger
- 触发器实例-trigger
- 触发器(Trigger)(一)
- 触发器(Trigger)(二)
- 触发器(Trigger)(三)
- 触发器(Trigger)(四)
- 触发器(Trigger)(五)
- 触发器(Trigger)(六)
- 触发器(Trigger)(七)
- extjs中grid的多表头
- CXF wsdl2Java
- 通过Java反射调用方法的实例,通过这个例子,能明白怎么用反射。
- Empower Developers
- 程序员的八荣八耻(转)
- SQLite: trigger触发器
- VC串口编程
- iphone开发之通过unix系统底层获取和系统相关的硬件信息
- VC++获取程序路径
- Nib文件是如何被加载的?
- 影响 Lucene对文档打分的四种方式
- 如何查看本机开放端口
- 就要喷php5的Call-time pass-by-reference has been removed
- myeclipse.ini