首页 > 解决方案 > 检查用户名是否出现在表中

问题描述

所以我有 2 个表 1 个表 User 与列 Username(nvarchar) 和 Active(boolean) 以及第二个表 UserCompany 与列 Username(nvarchar) 列。

我想让表 2 中不存在的表 1 中的所有用户处于非活动状态。

有没有办法对所有用户进行某种 foreach,如果结果为 NULL,则可以将用户设置为非活动状态?在网上搜索但找不到它。

标签: tsql

解决方案


您可以在update. 它看起来像这样:

update users u
    set active = 0
    where not exists (select 1 from usercompany uc where uc.username = u.username);

如果您想随着时间的推移保持insert这种状态,您将需要、updatedelete触发器 on usercompany


推荐阅读