创建触发器以将行修改为已连接表上的值

时间:2016-05-06 17:46:36

标签: sql-server triggers

我有一个表job_costcodes(id,cost_code_no,dept_id)和cost_codes(code_code_no,dept_id)。

如果 <div class="anchor"><a href="#">click</a></div> <div class="content">content 0</div> <div class="anchor"><a href="#">click</a></div> <div class="content">content 1</div> <div class="anchor"><a href="#">click</a></div> <div class="content">content 2</div> <div class="anchor"><a href="#">click</a></div> <div class="content">content 3</div> 被修改,我会尝试这样做,(function () { document.body.onclick = function (event) { var parent = event.target.parentNode, next; event.preventDefault(); if (parent.classList.contains('anchor')) { next = parent.nextSibling; if (next.TEXT_NODE) { next = next.nextSibling; } next.classList.toggle('hidden'); } }; }()); 会根据匹配的job_costcodes.cost_code_no填充job_costcodes.dept_id表中的相应内容。{ / p>

因此,参考下表,如果job_costcodes中的第一行更改为10,则dept_id应更改为1212.或20至1313等。

enter image description here

我不确定语法是如何工作的......这是我到目前为止所拥有的。 更新:更新的代码..我认为它现在有效。

cost_codes

1 个答案:

答案 0 :(得分:1)

将您的问题视为学术问题,首先在TSQL中查找CREATE TRIGGER命令,以便深入了解虚拟表inserteddeleted

然后我会用伪鳕鱼描述术语来做:

在触发器中,只需更新job_costcodes并通过加入dept_id和{{1}将dept_id的值设置为cost_codes中相应的cost_codes在UPDATE的FROM子句中。

执行此操作时无需验证inserted是否已更改,结果将相同,但如果您认为必须执行此操作,请查看TSQL中的IF UPDATE()函数。然后,您可以比较cost_code_nocost_code_noinserted的值,以了解它是否发生了变化。