TRY:
CREATE TRIGGER ForInsert ON [dbo].[TestView] 
For INSERT
AS
  SET NOCOUNT ON    INSERT INTO test_M
       values(cast(GETDATE() as varchar(20)),user)
......

解决方案 »

  1.   

    CREATE TRIGGER ForInsert ON [dbo].[TestView] 
    INSTEAD OF  INSERT
    AS
      SET NOCOUNT ON
        INSERT INTO test_D
           select cast(GETDATE() as varchar(20)),name from inserted
        INSERT INTO test_M
           select cast(GETDATE() as varchar(20)),Memo from inserted
       SET NOCOUNT OFF
      

  2.   

    俺对你的问题有以下看法:
         1.你编写触发器中“INSERT INTO test_M
           values(cast(GETDATE() as varchar(20)),user)”不知想实现什么功能?
           俺的理解是:你想在表“Test_M”中插入记录时,自动填充当前日期,如此的话,你必须  要添加一个日期字段(例为:“Date_D DateTime()”)。
         2.当出现上述错误时,可在基础表(Test_D与Test_M)中先删除记录再行修改;
         3.用“Instead of”不行的话,可在Test_M中创建触发器:
          CREATE TRIGGER ForInsert ON [dbo].[Test_M] 
          For  INSERT
          AS
            SET NOCOUNT ON
            Begin
              Update  test_M
              Set  Date_D=GETDATE() 
            End
          SET NOCOUNT OFF 
          此触发器也能实现你的功能。