set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [dbo].[Table_1_deletedate]
ON [dbo].[Table_1] AFTER DELETEAS
DECLARE @ID int
select @ID=ID from deleted
insert into Table_insert(ID)values(@ID)
这是我建的sql触发器,我在Table_1删除一行数据之后为什么在Table_insert看不到新插入的数据!!!我是新手,求助!

解决方案 »

  1.   

    实践证明是没有问题的
    --> 测试数据: [Table_1]
    if object_id('[Table_1]') is not null drop table [Table_1]
    GO
    create table [Table_1] (ID int)
    insert into [Table_1]
    select 1 union all
    select 2 union all
    select 3 union all
    select 4
    --> 测试数据: [Table_insert]
    if object_id('[Table_insert]') is not null drop table [Table_insert]
    GO
    create table [Table_insert] (ID sql_variant)
     --select * from [Table_1]
    --select * from [Table_insert]
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go
    CREATE TRIGGER [dbo].[Table_1_deletedate]
    ON [dbo].[Table_1] AFTER DELETEAS
    DECLARE @ID int
    select @ID=ID from deleted
    insert into Table_insert(ID)values(@ID)   GO 
    DELETE TABLE_1 WHERE ID=2select * from [Table_1]
    select * from [Table_insert]ID
    -----------
    1
    3
    4(3 行受影响)ID
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    2(1 行受影响)