set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[learningChange]
on [dbo].[learning]
for insert,update,delete
as
declare @ID int,
@NAME varchar(20),
@RNAME varchar(256),
@RURL varchar(600)
begin
SELECT @ID=USERID,@NAME=USERNAME,@RNAME=RESOUCENAME,@RURL=RESOUCEURL FROM learning
INSERT INTO learning1(USERID,USERNAME,RESOUCENAME,RESOUCEURL) VALUES(@ID,@NAME,@RNAME,@RURL)
END
为什么我用的这个触发器,只有给learning表插入的时候learning1表的显示是正确的,修改,和删除的时候,给learning1的表插入的都是最后一条记录?这是为什么?
set QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[learningChange]
on [dbo].[learning]
for insert,update,delete
as
declare @ID int,
@NAME varchar(20),
@RNAME varchar(256),
@RURL varchar(600)
begin
SELECT @ID=USERID,@NAME=USERNAME,@RNAME=RESOUCENAME,@RURL=RESOUCEURL FROM learning
INSERT INTO learning1(USERID,USERNAME,RESOUCENAME,RESOUCEURL) VALUES(@ID,@NAME,@RNAME,@RURL)
END
为什么我用的这个触发器,只有给learning表插入的时候learning1表的显示是正确的,修改,和删除的时候,给learning1的表插入的都是最后一条记录?这是为什么?
on [dbo].[learning]
for insert,update,delete
as
declare @ID int,
@NAME varchar(20),
@RNAME varchar(256),
@RURL varchar(600)
begin
SELECT @ID=USERID,@NAME=USERNAME,@RNAME=RESOUCENAME,@RURL=RESOUCEURL FROM inserted
INSERT INTO learning1(USERID,USERNAME,RESOUCENAME,RESOUCEURL) VALUES(@ID,@NAME,@RNAME,@RURL)
END
你说的不行,换了就成空的了。
能给个可行的建议么?我是新手。
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[learningInsert]
on [dbo].[learning]
for insert
as
declare @ID int,
@NAME varchar(20),
@RNAME varchar(256),
@RURL varchar(600)
begin
SELECT @ID=USERID,@NAME=USERNAME,@RNAME=RESOUCENAME,@RURL=RESOUCEURL FROM inserted
INSERT INTO learning1(USERID,USERNAME,RESOUCENAME,RESOUCEURL) VALUES(@ID,@NAME,@RNAME,@RURL)
ENDset ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[learningUpdate]
on [dbo].[learning]
for update
as
declare @ID int,
@NAME varchar(20),
@RNAME varchar(256),
@RURL varchar(600)
begin
SELECT @ID=USERID,@NAME=USERNAME,@RNAME=RESOUCENAME,@RURL=RESOUCEURL FROM updated
INSERT INTO learning1(USERID,USERNAME,RESOUCENAME,RESOUCEURL) VALUES(@ID,@NAME,@RNAME,@RURL)
ENDset ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[learningDelete]
on [dbo].[learning]
for delete
as
declare @ID int,
@NAME varchar(20),
@RNAME varchar(256),
@RURL varchar(600)
begin
SELECT @ID=USERID,@NAME=USERNAME,@RNAME=RESOUCENAME,@RURL=RESOUCEURL FROM deleted
INSERT INTO learning1(USERID,USERNAME,RESOUCENAME,RESOUCEURL) VALUES(@ID,@NAME,@RNAME,@RURL)
END