zoukankan      html  css  js  c++  java
  • SQL触发器demo

    现有表:

    demo1,demo2.

    640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

    目的:

    想实现demo1的所有插入,更新,删除操作,都映射到demo2中.

    所用方法:

    触发器(trigger)

    代码如下:

    --删除,触发器

    CREATE trigger tr_demo1 --触发器名

    ON demo1 --作用表

    FOR DELETE --目的

    AS

    DECLARE @spid char(11),

    @spbh varchar(20) --声明变量

    select @spid=spid ,@spbh=spbh from deleted --给变量赋值

    delete demo2 where spid=@spid --执行删除操作

    GO


    --插入,触发器

    CREATE trigger tr_demo2

    ON demo1

    FOR insert

    AS

    DECLARE @spid char(11),

    @spbh varchar(20)

    select @spid=spid,@spbh=spbh from inserted

    insert into demo2(spid,spbh)values(@spid,@spbh)

    GO


    --更新,触发器

    CREATE trigger tr_demo3

    ON demo1

    FOR update

    AS

    DECLARE @spid char(11),

    @spbh varchar(20)

    select @spid=spid,@spbh=spbh from inserted

    update demo2 set spbh=@spbh where spid=@spid

    GO


    测试:

    insert into demo1 (spid,spbh) values('SPH00095653','sdadfaserws1')


    update demo1

    set spid='SPH00095654'

    where spid='SPH00095653'


    delete demo1

    where spid='SPH00095653'

    备注:

    更新的触发器,必须有个更新的依据,类似上例中的spid,有这个spid作为更新基础才可以触动触发器.如果朋友们想连着spid一起更新,那就确保有一个标识列可以用来识别.否则,不如整行数据delete掉,然后insert的方便.


  • 相关阅读:
    Element节点
    Document节点
    ParentNode接口,ChildNode接口
    NodeList接口,HTMLCollection接口
    Node接口
    DOM概述
    Promise对象
    定时器
    IT常用日语
    配置JavaWeb开发环境
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12352421.html
Copyright © 2011-2022 走看看