• 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的方便.


  • 相关阅读:
    浅谈C#托管程序中的资源释放问题
    c#基本语法学习笔记
    深入剖析C#多态性
    Reporting Services API
    进程和线程的区别
    化妆品网站,饰品网站
    宠物销售网站
    卖地方特色才产品,类似湖南味道那样的网上专卖店
    建立友情链接联盟
    DIY最残忍U盘
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12352420.html
Copyright © 2020-2023  润新知