博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
触发器学习
阅读量:6105 次
发布时间:2019-06-21

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

数据库表:

创建语句:

--table1

CREATE TABLE [dbo].[table1](     [id] [int] IDENTITY(1,1) NOT NULL,     [value] [varchar](10) NULL, CONSTRAINT [PK_table] PRIMARY KEY CLUSTERED (     [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]

--table2

CREATE TABLE [dbo].[table2](     [id] [int] IDENTITY(1,1) NOT NULL,     [count] [int] NOT NULL, CONSTRAINT [PK_table2] PRIMARY KEY CLUSTERED (     [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]

insert into table2(count) values(0)

--触发器语句,对table1进行插入或者删除操作会触发触发器更新table1的行数

CREATE TRIGGER insert_table1 ON table1

    FOR INSERT , DELETE

    AS BEGIN

        UPDATE table2 set count=(SELECT count(*) FROM table1) WHERE id=1;

    END; ===============================================================================================================================================

触发器知识:

一般格式:

CREATE TRIGGER <触发器名>

    {BEFORE | AFTER} <触发事件> ON <表名>

    FOR EACH {ROW | STATEMENT}

    [WHEN <触发条件>]

    <触发动作体>

触发事件:可以是INSERT、DELETE或UODATE,也可以是几个事件的组合。

触发器类型:可以分为行级触发器(FOR EACH ROW)和语句级触发器(FOR EACH STATEMENT)

 

转载地址:http://fjhza.baihongyu.com/

你可能感兴趣的文章
ASP.Net 使用GridView模板删除一行的用法
查看>>
(十六)字段表集合
查看>>
JPGraph
查看>>
实验二 Java面向对象程序设计
查看>>
------__________________________9余数定理-__________ 1163______________
查看>>
webapp返回上一页 处理
查看>>
新安装的WAMP中phpmyadmin的密码问题
查看>>
20172303 2017-2018-2 《程序设计与数据结构》第5周学习总结
查看>>
(转)HTML的代码(从朋友那转的,看着觉得会有用就转了)
查看>>
eclipse中将一个项目作为library导入另一个项目中
查看>>
Go语言学习(五)----- 数组
查看>>
Android源码学习之观察者模式应用
查看>>
Content Provider的权限
查看>>
416. Partition Equal Subset Sum
查看>>
centos7.0 64位系统安装 nginx
查看>>
数据库运维平台~自动化上线审核需求
查看>>
注解开发
查看>>
如何用 Robotframework 来编写优秀的测试用例
查看>>
Django之FBV与CBV
查看>>
Vue之项目搭建
查看>>