Create triger triA
on a
for insert
as
  insert b.dbo.a values(inserted.fd1,inserted.fd2....)
    from inserted

解决方案 »

  1.   

    create trigger Test on tableA for insert as
    insert tableB(field1,field2,...) values(Inserted.field1,Inserted.field2,...)
    ==========================
    关键在于Inserted表,你要插入的记录都存在它里面。
      

  2.   

    把你的数据库脚本贴出来,可以一步到位
    实际就是inserted 表你不知道
    CREATE TRIGGER tg_test ON [dbo].[tel_record] 
    FOR INSERT
    ASinsert into b.table1(field1,field2)
    values (inserted.filed1,inserted.field2)
      

  3.   

    还没有人回答对哦?TO chair3(三腿的椅子) newyj(方恨少;寻找第二把刷子的人) gmc007(江西的佬表) :nserted.field这样会出错哦。
      

  4.   

    错误提示是:columns  name are not permitted!
      

  5.   

    B表中的其他字段为可NULL吗?
      

  6.   

    chair3(三腿的椅子) newyj(方恨少;寻找第二把刷子的人) gmc007(江西的佬表) ,你们怎么不说话了?
      

  7.   

    他们的回答不错,在SQLSERVER中创建触发器,利用Inserted临时表。
    Inserted 表是当插入记录时SQL自动生成的!!
      

  8.   

    网管,把tom_fine(小李)赶走,
    你不觉得翻页很麻烦码?
      

  9.   

    inserted.field这样用会出错。奇怪。就我出错??
      

  10.   

    帮你up一下,我也在学遇到跟你一样的问题,
    "field" is not permitted 
      

  11.   

    在Mssql7中,下面的语句通过测试。CREATE TABLE [dbo].[test1] (
    [id] [int] NULL ,
    [name] [char] (10) NULL 
    ) ON [PRIMARY] 
    GOCREATE TABLE [dbo].[test2] (
    [id] [int] NULL ,
    [name] [char] (10) NULL ,
    [re] [varchar] (50) NULL 
    ) ON [PRIMARY] 
    GOSET QUOTED_IDENTIFIER ON 
    GO
    SET ANSI_NULLS ON 
    GOCREATE TRIGGER tr_test ON [dbo].[test1] 
    FOR INSERT
    AS
    insert into test2  (id,name)
      select id,name from inserted  
    GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO
    insert into test1 values(1,'test')select * from test2
      

  12.   

    to Foolishchao:
    OK,问题解决,太感谢了!
    上来拿分!