创建触发器和使用示例
来源:互联网 发布:熊巫女动画结局 知乎 编辑:程序博客网 时间:2024/05/22 17:03
创建触发器和使用示例(于海涛 老师的实验课)
1、数据表的建立
use login
create table voteMaster -----主表
(
voteId int primary key, --编号
voteTitle varchar(100) not null, ---投票的项目
voteSum int default 0 --总票数,默认为0
)
insert into voteMaster values(1,'选举工会主席',0)
insert into voteMaster values(2,'对网站的建议',0)
create table voteDetails ---从表
(
voteId int foreign key references voteMaster(voteId),----外键 约束
voteDetailsId int not null,
voteItem varchar(20) not null,
votNum int default 0,
primary key(voteId,voteDetailsId) ----连合主键
)
insert into voteDetails values(1,1,'于海涛',0)
insert into voteDetails values(1,2,'王小刚',0)
insert into voteDetails values(1,3,'张老三',0)
insert into voteDetails values(2,1,'非常好',0)
insert into voteDetails values(2,2,'好',0)
insert into voteDetails values(2,3,'一般',0)
insert into voteDetails values(2,4,'需要改进',0)
2、触发器的创建
create trigger updateMaster -----创建触发器
on voteDetails -----触发器所建的表
for update -----触发器的条件
as
begin
update voteMaster set voteSum=voteSum+1 where voteId=(select top 1 voteid from inserted)
end
最终效果:
你只要对voteDetails 内votNum的数据进行更新,那么主表voteMaster 的voteSum就会加1,从而实现了对投票的总数的统计的实现。
注意: select top 1 voteid from deleted
inserted表 deleted表
insert 新插入的行 空
update 数据库受到影响的行在更新之后的新值 数据库受到影响的行在更新之前的旧值
delete 空 删除的行
当你想自动更新数据库的时候 无论数据库怎样更新,插入新数据也好,自动在后面添加你想添加的东西
create trigger trig_notic_UI
on notic for insert,update
as
update notic set memo=memo+'<dcboy>'
where id in(select id from inserted)
go
/*
trig_notic_UI 触发器名称 自定义
notic 需要触发的表名
memo 需要更新的字段
id 是主键
*/
- 创建触发器和使用示例
- oracle创建和使用触发器
- 触发器创建示例
- 示例17 创建触发器
- oracle 和 SQL Server触发器创建、删除、修改、查看示例
- 触发器使用示例
- SQL触发器使用示例
- 触发器的创建和使用(sql2005)
- Mysql Tigger触发器创建和使用
- 行级触发器的创建和使用
- 创建与使用触发器
- 创建触发器和视图
- 创建INSERT、DELETE、UPDATE 触发器示例
- 触发器创建、删除、修改、查看示例步骤
- 创建INSERT、DELETE、UPDATE 触发器示例 .
- Oracle触发器简介、创建、使用触发器
- MySQL——触发器的创建和使用总结
- MySQL——触发器的创建和使用总结
- cos ,FileUpload ,SmartUpload 上传文件性能比较
- windows托盘程序和泡泡提示简单攻略
- CSS学习资料
- 关于C#中单件模式(Singleton Pattern)实现的讨论
- 使用acegi security +spring +mysql+ tomcat搭应用过程
- 创建触发器和使用示例
- typedef的用法
- SVN项目---目录布局
- jdk5.0 在linux下字体文件的处理(设置默认字体)
- 学习javascript的一些感想
- 使用JAVA中的动态代理实现数据库连接池
- 冷笑话:IT世界鸭子也有冒充的!
- 造成 未将对象引用设置到对象实例 的另 一个原因
- java反射性能测试分析