SQL2000支持两种触发器After和Instead Of,后者可以作为Before触发器来用。你看一下帮助手册就知道了。

解决方案 »

  1.   

    CREATE TRIGGER Delete ON [dbo].[ManufacturalDayReport] 
    Instead Of INSERT                      //我是这样写的
    AS 
    Delete
    From ManufacturalDayReport
    go//=====================================CREATE TRIGGER WriteTime ON [dbo].[ManufacturalDayReport] 
    FOR  INSERT                      //我是这样写的
    AS 
    Update ManufacturalDayReport
    Set DateTime =GetDate()
    go// 最后结果是 执行了第一个触发器后没有执行第二个触发器 为什么?
      

  2.   

    替代触发器
    CREATE TRIGGER 名 on 表
    INSTEAD OF INSERT
    AS
    BEGIN
      INSERT INTO 表
           SELECT name1,name1
           FROM inserted
    END
      

  3.   

    // 最后结果是 执行了第一个触发器后没有执行第二个触发器 为什么?应为再你的第一个触发器里是delete所以只会触发删除触发器,且你要事先设置:
    右键你的数据库-->属性-->选项-->递归触发器-->打勾
      

  4.   

    CREATE TRIGGER Delete ON [dbo].[ManufacturalDayReport] 
    Instead Of INSERT                      //我是这样写的
    AS 
    Delete From ManufacturalDayReport
    insert ManufacturalDayReport select * from inserted
    Update ManufacturalDayReport Set DateTime =GetDate()
    go
      

  5.   

    开始要插入数据必须清空原有的数据
    插入完后就要求更新数据
    就象DELPHI的事件样
    //=====================================
    CREATE TRIGGER Delete ON [dbo].[ManufacturalDayReport] 
    Instead Of INSERT                      //我是这样写的
    AS 
    Delete
    From ManufacturalDayReport
    go//=====================================CREATE TRIGGER WriteTime ON [dbo].[ManufacturalDayReport] 
    FOR  INSERT                      //我是这样写的
    AS 
    Update ManufacturalDayReport
    Set DateTime =GetDate()
    go// 最后结果是 执行了第一个触发器后没有执行第二个触发器 为什么?