我有这张名为STG_Params的下表:
Schema Table DataBase Flag_Full
dbo Users LocalDB 1
dbo bankInformation LocalDB 0
dbo Language LocalDB 0
dbo Employee LocalDB 1
dbo WorkPermit LocalDB 1
dbo Roles LocalDB 1
dbo School LocalDB 1
dbo Nationality LocalDB 1
dbo Degree LocalDB 1
我想更新具有TableName的记录,如下所示,并将其Flag_Full设置为0:
UPDATE STG_Param SET Flag_Full = 0
WHERE EXISTS (SELECT m.* from STG_Param m where m.[Table] in ('Users','Employee','Roles',WorkPermit')
当我执行查询时,它将使用Flag_Full = 1更新所有记录,包括where条件中未提及的表名。
您可以为要更新的表指定别名,并直接使用where条件。如果需要根据另一个表中的条件获取表列表,则还可以在WHERE子句之前使用联接。
UPDATE STG
SET STG.Flag_Full = 0
FROM STG_Param STG
WHERE STG.[Table] IN ('Users','Employee','Roles','WorkPermit')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句