Sql 如何将列中的详细信息从一个ID交换到另一个ID?

Sql 如何将列中的详细信息从一个ID交换到另一个ID?,sql,sql-server-2008,stored-procedures,Sql,Sql Server 2008,Stored Procedures,我有3个表,人员表、组织表和链接表 使用PersonId和组织键称为PersonOrganization。我想 在用户输入要切换的两个人的Id后,在两个组织之间交换两个人。 示例:我为PersonId的输入2和6 然后,与第2人关联的组织与与第6人关联的组织交换。 提前谢谢这个怎么样: update PersonOrganization set PersonId = (case when PersonId = 2 then 6 else 2 end) where (PersonI

我有3个表,人员表、组织表和链接表 使用PersonId和组织键称为PersonOrganization。我想 在用户输入要切换的两个人的Id后,在两个组织之间交换两个人。 示例:我为PersonId的输入26 然后,与第2人关联的组织与与第6人关联的组织交换。 提前谢谢

这个怎么样:

update PersonOrganization
    set PersonId = (case when PersonId = 2 then 6 else 2 end)
    where (PersonId in (2, 6);

换言之,交换人员,而不是组织。

这一要求有几个部分——你坚持哪一部分?捕获输入?生成SQL语句?到目前为止你试过什么?提示:您只需要对链接表进行两次更新。堆栈不是为您编写逻辑。相反,当您遇到特定代码的问题时,我们会提供帮助。请展示一些作品和你遇到的问题;我们很乐意为您提供帮助。如果一个人只有一个组织,您为什么要为
PersonOrganization
单独设置一个表?