当前位置: 代码迷 >> Sql Server >> SQL触发器赋值,该怎么解决
  详细解决方案

SQL触发器赋值,该怎么解决

热度:12   发布时间:2016-04-24 10:18:17.0
SQL触发器赋值
表1:TEST1    字段: A1 、  B1
表2:TEST2   字段: A1、G1
把表1 字段B  赋值给表2  G字段  (把原来数据也替代)

触发器语句:

update test1 set a.B1=b.G1 from test1 a,inserted b where  a.A1=b.A1
------解决方案--------------------
CREATE TABLE test_20 (A1 INT IDENTITY, B1 VARCHAR(10))
CREATE TABLE test_21 (A1 INT IDENTITY, G1 VARCHAR(10))


INSERT INTO test_20(B1) VALUES ('beijing'),('beijing')
INSERT INTO test_21(G1) VALUES ('shanghai'),('shanghai')



CREATE TRIGGER tri_upd_test_20_B1_test_21_G1
   ON  test_20
   AFTER UPDATE
AS 
BEGIN

SET NOCOUNT ON;
UPDATE G SET G.G1=INSERTED.B1 FROM INSERTED JOIN test_21 G ON INSERTED.A1=G.A1
END
GO


UPDATE test_20 SET b1='changsha'

------解决方案--------------------

create trigger tr_TEST1
 for update
 as
begin
 update a
  set a.G1=b.B1 
  from TEST2 a,inserted b 
  where a.A1=b.A1
end
  相关解决方案