我正在尝试用yes/no更新表事件\u警报。
但是,当调用此存储过程时,列(server\ u match)的所有值都将被更新。
我只需要更新受影响的行。任何帮助都将不胜感激。
create procedure [dbo].[servermatch_apacservers]
as
update event_alerts
set event_alerts.server_match = (case when apac_servers.List_of_servers is null then 'NO' else 'YES' end)
from event_alerts
left join apac_servers on apac_servers.List_of_servers = event_alerts.server_name;
1条答案
按热度按时间ht4b089n1#
您需要一个参数来指定更新哪一行。让我假设你有一个
server_name
列以标识服务器:也就是说,这个逻辑可以很容易地作为查询运行——并封装为视图。在大多数情况下,没有必要试图保持表格中的最新信息。
你可能想扣动扳机。然而,这需要一个触发器
insert
是的,update
s、 以及delete
s。