create trigger tri_site_ins_2 on dbo.site
for insert
as
   declare @col1 int
   select @col1 = column1 from inserted
   insert A表 values(@col1,...)或
create trigger tri_site_ins_2 on dbo.site
for insert
as
   insert A表 select column1,其它字段内容 from inserted

解决方案 »

  1.   

    请问删除是不是改为这样就可以了select @col1 = column1 from deleted
      

  2.   

    create trigger tri_site_ins_2 on dbo.B
    for insert
    as
       declare @col1 int
       select @col1 = column1+1 from inserted
       insert A values(@col1,...)
      

  3.   

    考虑表A是不是多余的?
    第一条要求,其实就是记录B表中有多少条记录,这个还用建一个表来记录吗?
    第二条要求,看不明白。根据col1的值,A表加1或减1,什么意思?如果是统计col1不为空的记录有多少行,也不用专门建一个表来记录这个值吧。
      

  4.   

    CREATE TRIGGER TRI_Site_INS  ON [dbo].[Site] 
    FOR INSERT,delete
    AS
    DECLARE @column1 int
    select @column1= column1 from inserted 
    if @column1 is not null
        update dbo.Property set NumberValue = @nSiteCount+1 where id=2
    select @column1= column1 from deleted 
    if @column1 is not null
        update dbo.Property set NumberValue = @nSiteCount-1 where id=2
    -------------
    ???
      

  5.   

    --应该是这样的.--插入
    CREATE TRIGGER TRI_Site_INS  ON [dbo].[Site] 
    FOR INSERT
    AS
    update Property set NumberValue = a.NumberValue+1
    from Property a join inserted on a.id=b.id
    go--删除
    CREATE TRIGGER TRI_Site_INS  ON [dbo].[Site] 
    FOR delete
    AS
    update Property set NumberValue = a.NumberValue-1
    from Property a join deleted on a.id=b.id
    go
      

  6.   

    功能一:更具体是这样的,
    表A记录一些管理信息,(设计A表主要目的是便于管理)
    其中有一条记录表示有多少个站点,字段NumberValue表示站点个数,这条记录ID为2
    B表是站点表,
    当B表增加或者删除一个站点,那么NumberValue就加一或者减一。功能二:B表表示站点的信息列表,其中有一个字段是是表示这个站点下有多少个栏目叫ColumnCount,
    而C表表示栏目信息,其中有一个字段记录这个栏目属于那个站点,名称为SiteID
    我想实现是这样的:当C表增加或者删除一个栏目的时候,那么找到SiteID值,B表ColumnCount就对应加一或者减一。我这个库原来是Oracle的,我不想改变表结果。
      

  7.   

    --功能二用这个就行了.
    create trigger t_process on C
    for insert,delete
    as
    update B set ColumnCount=aa.ColumnCount+1
    from B aa on inserted bb on aa.SiteID=bb.SiteIDupdate B set ColumnCount=aa.ColumnCount-1
    from B aa on deleted bb on aa.SiteID=bb.SiteID
    go
      

  8.   

    thanks!太感谢各位了,忙完后再给分。
    再次感谢各位。