博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建触发器和使用示例
阅读量:5021 次
发布时间:2019-06-12

本文共 1514 字,大约阅读时间需要 5 分钟。

 

创建触发器和使用示例
 

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   是主键 */

转载于:https://www.cnblogs.com/shudaizi/archive/2011/12/19/2293770.html

你可能感兴趣的文章
spring-cloud-starter-hystrix(断路器)服务不通或者调用失败后的错误处理和回调
查看>>
Java原始封装常用HttpRequest
查看>>
SQLServer2012自增列值跳跃的问题
查看>>
初识WebAPI
查看>>
分形和数据结构之迭代实现分形
查看>>
null与“ ”的区别
查看>>
HTML5 Canvas 撤销上一次操作
查看>>
饮冰三年-人工智能-linux-06 系统启动流程及安全
查看>>
[kmp] JZOJ P3756 动物园
查看>>
盒子模型
查看>>
JQ获取URL中是否含有某个字符的话,对页面进行某种操作
查看>>
一文了解运输层TCP/UDP协议
查看>>
命名空间 和 class_exist() 问题
查看>>
Fedora : Boost G++库
查看>>
剑指offer 名企面试官精讲典型编程题pdf
查看>>
通过节点来操作table
查看>>
【转】组合逻辑中latch的出现与避免
查看>>
ios提示框,自动消失
查看>>
打铁的红五月
查看>>
[暑假集训Day3T1]小木棍
查看>>