黑马程序员-触发器

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

数据库表:

创建语句:

--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)

 


---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------详细请查看: www.itheima.com
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值