zoukankan      html  css  js  c++  java
  • Create trigger


    -- =============================================
    -- Create trigger basic template(After trigger)
    -- =============================================
    IF EXISTS (SELECT name
           FROM   sysobjects
           WHERE  name = N'<trigger_name, sysname, trig_test>'
           AND       type = 'TR')
        DROP TRIGGER <trigger_name, sysname, trig_test>
    GO

    CREATE TRIGGER <trigger_name, sysname, trig_test>
    ON <table_name, sysname, pubs.dbo.sales>
    FOR DELETE, INSERT, UPDATE
    AS
    BEGIN
        RAISERROR (50009, 16, 10)
    END
    GO

    -- =============================================
    -- Create trigger contained If UPDATE(column)
    -- =============================================
    IF EXISTS (SELECT name
           FROM   sysobjects
           WHERE  name = N'<trigger_name, sysname, trig_test>'
           AND       type = 'TR')
        DROP TRIGGER <trigger_name, sysname, trig_test>
    GO

    CREATE TRIGGER <trigger_name, sysname, trig_test>
    ON <table_or_view_name, sysname, pubs.dbo.sales>
    FOR INSERT, UPDATE
    AS
    If UPDATE(<column_1, sysname, stor_id>) OR UPDATE(<column_2, sysname, ord_num>)
    BEGIN
        RAISERROR ('These columns should never be updated', 16, 1)
        ROLLBACK TRANSACTION
    END
    GO

    -- =============================================
    -- Create trigger contained If (COLUMNS_UPDATED())
    -- =============================================
    IF EXISTS (SELECT name
           FROM   sysobjects
           WHERE  name = N'<trigger_name, sysname, trig_test>'
           AND       type = 'TR')
        DROP TRIGGER <trigger_name, sysname, trig_test>
    GO

    CREATE TRIGGER <trigger_name, sysname, trig_test>
    ON <table_or_view_name, sysname, pubs.dbo.sales>
    FOR INSERT, UPDATE
    AS
    --eg. check if all of column 2, 3, 4 are updated
    IF (COLUMNS_UPDATED() & 14) = 14
    BEGIN
        RAISERROR ('These columns can not be updated at the same time', 16, 1)
        ROLLBACK TRANSACTION
    END
    GO

    -- =============================================
    -- Create basic Instead Of Trigger
    -- =============================================
    IF EXISTS (SELECT name
           FROM   sysobjects
           WHERE  name = N'<trigger_name, sysname, trig_test>'
           AND       type = 'TR')
        DROP TRIGGER <trigger_name, sysname, trig_test>
    GO

    CREATE TRIGGER <trigger_name, sysname, trig_test>
    ON <table_or_view_name, sysname, pubs.dbo.sales>
    INSTEAD OF INSERT
    AS
    BEGIN
        RAISERROR (50009, 16, 10)
        EXEC sp_who
    END
    GO

  • 相关阅读:
    jQuery EasyUI API 中文文档
    easyui datagrid使用
    Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
    JQueryEasyUI datagrid框架的基本使用
    使用easyUI 创建复杂的toolbar到datagrid
    转换和删除重复命令tr
    格式化文本数据抽取工具awk
    流编辑器sed
    查找文本工具grep
    查找文件工具find
  • 原文地址:https://www.cnblogs.com/mingyongcheng/p/1995132.html
Copyright © 2011-2022 走看看