zoukankan      html  css  js  c++  java
  • SQL Server 中 触发器 简单示例

    注意 对 inserted,deleted 的查询 使用
    -------------------------

    --当person表 新增 一条person记录时
    --将 该记录的主键personName 保存在changeTable表中
    USE TestDB
    IF EXISTS (SELECT name FROM sysobjects
          WHERE name = 'personInsert' AND type = 'TR')
       DROP TRIGGER personInsert
    GO
    CREATE TRIGGER personInsert
    ON person
    FOR INSERT
    AS

       INSERT INTO TestDB.dbo.changeTable
      (changeTableName, changeType, changeTablePK, changeTablePKValue)
      SELECT 'person','INSERT','personName',personName FROM INSERTED
    GO

    --当person表 修改 一条person记录时
    --将 该记录的主键personName 保存在changeTable表中

    USE TestDB
    IF EXISTS (SELECT name FROM sysobjects
          WHERE name = 'personUpdate' AND type = 'TR')
       DROP TRIGGER personUpdate
    GO
    CREATE TRIGGER personUpdate
    ON person
    FOR UPDATE
    AS

       INSERT INTO TestDB.dbo.changeTable
      (changeTableName, changeType, changeTablePK, changeTablePKValue)
      SELECT 'person','UPDATE','personName',personName FROM INSERTED
    GO

    --当person表 删除 一条person记录时
    --将 该记录的主键personName 保存在changeTable表中

    USE TestDB
    IF EXISTS (SELECT name FROM sysobjects
          WHERE name = 'personDelete' AND type = 'TR')
       DROP TRIGGER personDelete
    GO
    CREATE TRIGGER personUpdate
    ON person
    FOR DELETE
    AS

       INSERT INTO TestDB.dbo.changeTable
      (changeTableName, changeType, changeTablePK, changeTablePKValue)
      SELECT 'person','DELETE','personName',personName FROM DELETED
    GO

  • 相关阅读:
    Tips——RN HTML两端通信
    Tips——RN如何动态地添加删除组件
    Tips——RN webview如何实现首次加载自动登录及后续定时登录
    Between Us 1 生命的起源
    获取当前工作路径和当前模块路径
    从标准输出和读入
    字符串赋值操作
    char,string和CString转换
    字符串结束标志
    Lenovo GTX960M 配置CUDA
  • 原文地址:https://www.cnblogs.com/freeliver54/p/669050.html
Copyright © 2011-2022 走看看