我有2个表-A
和B
。我在表A
中有一个字段,该字段可以为null或某个值;表B中的一个字段,可以为null或某个值。两者均为nvarchar
类型。
现在,我希望有一种事件侦听器,无论何时表A
中的该字段更改值,我都希望将相同的值附加到表B
字段的开头。
如果我想运行UPDATE
语句,我会写:
UPDATE B
SET B.myValueFromB = A.myValueFromA + CONVERT(nvarchar(max),B.myValueFromB)
FROM
A JOIN B on A.Ref_num = B.Task_num
WHERE A.Ref_Num = --here is the problem
我在程序中有一个表单,用于用值更新具有特定A.Ref_num
的记录。最终结果将是每当我更新该记录时,表B
中的映射记录也会被更新。我该怎么做?
答案 0 :(得分:1)
您可以为此使用触发器:
CREATE TRIGGER up_update_your_table
ON Table_A FOR UPDATE
AS
--Your id field to find the corresponding record in the other table (Table B)
DECLARE @ID VARCHAR(50)
DECLARE @Value VARCHAR(50)
SELECT @ID = YourIDFieldInTableA, @Value = YourValueFieldInTableA FROM Inserted
--Inserted returns the updated row
UPDATE Table_B SET YourValueFieldInTableB = @Value WHERE YourIDFieldInTableB = ID