• 触发器


    触发器:
    是一个特殊的存储过程;
    通过增删改的动作来触发执行,没有参数,没有返回值;

    create trigger Insert_Student --命名规范
    on student --针对于哪一个表
    for insert --针对于哪一个动作来触发

    -- onclick = "show()"

    as
    触发执行的代码段
    go

    ----------------------------------------------------
    create trigger Delete_Info
    on info
    instead of delete
    as
    declare @c varchar(20)
    select @c = code from deleted

    delete from work where infocode=@c
    delete from family where infocode=@c
    delete from info where code=@c
    go


    create trigger Delete_Nation
    on nation
    for delete
    as

    go


    1.for的意思是在动作执行之后触发
    2.instead of delete 的意思是删除之前引发,可以理解为替代,写了这个之后,写的执行代码就没有用了,就被触发器的代码覆盖了

    触发器常用的为级联删除:
    create trigger delete_student
    on student
    instead of delete
    as
    --如果要删除student表数据,那么需要级联删除
    declare @sno varchar(20);
    set @sno = sno from deleted --deleted固定格式,为删除执行所能删除的数据,并没有执行删除,而是把他们显示出来,在这获得要删除的数据的sno,然后先删除其他表中此sno的数据
    delete from score where sno = @sno;
    delete from student where sno = @sno;
    go

  • 相关阅读:
    自动化测试知识点汇总(200421)
    Mac_使用allure 生成测试报告
    mac_使用Charles抓取Firefox 链接
    工具列表
    Appium_iOS_Safari测试脚本(2)
    日志学习(一)
    java中==和equals的区别(转)
    jackson使用localdatetime转换json出现问题
    js复习--基础
    复习下CSS-零碎要点
  • 原文地址:https://www.cnblogs.com/light3857/p/5745800.html
Copyright © 2020-2023  润新知