sql server 2008 做个触发器,增加数据时,根据表1内容填写表2中的数据

2025-02-24 07:53:22
推荐回答(2个)
回答1:

CREATE TRIGGER TR_表2 ON 表2 FOR AFTER INSERT
AS
BEGIN
UPDATE 表2 SET 表2.规格型号 = B.汉字内容 FROM 表2 A LEFT JOIN 表1 B ON B.规格型号代码 = A.代码
UPDATE 表2 SET 表2.厂家 = B.汉字内容 FROM 表2 A LEFT JOIN 表1 B ON B.规格型号代码 = SUBSTRING(A.代码,1,3)
UPDATE 表2 SET 表2.产品类型 = B.汉字内容 FROM 表2 A LEFT JOIN 表1 B ON B.规格型号代码 = SUBSTRING(A.代码,1,6)
END

回答2:

if (object_id('insert_trg', 'tr') is not null)
drop trigger insert_trg
go
create trigger insert_trg
on table_2
for insert
as
declare @des nvarchar(50),@ID nvarchar(10);
--在inserted表中查询已经插入记录信息
select @ID=ID from inserted;
select @des=des from Table_1 where ID=@ID
update table_2 set des = @des where ID=@ID;
go

里面的列名是我自己写的,你替换一下。主要就是实现一个DML 类型的触发器

参考http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html