• 触发器学习


    数据库表:

    创建语句:

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

  • 相关阅读:
    Linux.超级管理员root-密码破解
    Hibernate.基础篇《一》.Hibernate工具类.
    不同版本Hibernate.获取SessionFactory的方式
    Hibernate.编写xml文件无自动提示信息
    ubantu中安装TensorFlow遇到的问题
    Ubuntu中安装python3.6(转)
    Linux 用户管理
    虚拟机中Linux安装(转)
    红黑树(转)
    树的遍历方法(转)
  • 原文地址:https://www.cnblogs.com/zxlovenet/p/3708211.html
Copyright © 2020-2023  润新知