求触发器

来源:百度知道 编辑:UC知道 时间:2024/06/30 06:26:02
在一个数据库中,有表TA和表TD,表TA中有字段TA1,TA2,TA3等字段,表TD中有TD1,TD2,TD3等字段,TA表中有数据,现在要设计一个触发器,当表TD中新增或修改数据时,条件满足TD1=TA1而且TD2=TA2时,在表TD中自协插入或修改TD3=TA3.,请各位老大帮帮忙.触发器要写在哪个表中?怎么写?我很菜呀
检查语法时,提示"错误207,列名TA1"无效.列名TA2无效.

CREATE Trigger tdinsert on dbo.td
for insert &&当td发生新增数据时,对td表进行如下操作
as
declare @mtd1 varchar(10),@mtd2 varchar(10),@mtd3 varchar(10) &&参数定义
select @mtd1=ta1,@mtd2=ta2 from inserted()
select @mtd3=ta3 from ta where ta1=@mtd1 and ta2=@mtd2
update td set td3=@mtd3 where ta1=@mtd1 and ta2=@mtd2 &&按指定条件刷新数据库td

CREATE TABLE TA
(
[TA1] int,
[TA2] int,
[TA3] int
)
GO

CREATE TABLE TD
(
[TD1] int,
[TD2] int,
[TD3] int
)
GO

INSERT TD SELECT 1, 1, 1
INSERT TD SELECT 1, 1, 1
INSERT TD SELECT 1, 1, 1
INSERT TD SELECT 1, 1, 1
GO
SELECT * FROM TD
GO

CREATE TRIGGER TR_INSERT_TA
ON TA
FOR INSERT
AS
UPDATE TD SET TD3=(SELECT TA3 FROM INSERTED) WHERE (SELECT TA1 FROM INSERTED)=TD1 AND (SELECT TA2 FROM INSERTED)=TD2
GO

INSERT TA SELECT 1, 1, 2
INSERT TA SELECT 1, 1, 2
INSERT TA SELECT 1, 1, 2
I