【发布时间】:2010-11-13 05:38:26
【问题描述】:
如何更新表中的不同列和行?我想做和replace a string in SQL server类似的事情
我想这样做,但该值存在于同一类型的多个列中。这些值是员工表的外键 varchars。每列代表一个任务,因此同一员工可能被分配到记录中的多个任务,并且这些任务在记录之间会有所不同。我怎样才能有效地做到这一点?基本上可以替换整个表中不同列的所有内容。
感谢您的任何帮助或建议。
干杯, ~ck 在圣地亚哥
【问题讨论】:
-
这表明您的数据库没有规范化? (即在 3NF 中)
-
我更像是一个 c# 开发人员,所以我不知道数据库的内部工作原理。我很好奇你将如何正确地表达这种关系?如果表中的每条记录代表一个项目,每列代表一个任务,则可以将一个员工分配给一个或多个任务。副本在哪里?我该如何补救?请指教。
-
我认为你应该举例说明你拥有什么以及你想要改变什么。如果不了解数据的外观,就很难制定 SQL 查询。
-
通常你的外键是 int 而不是 varchars。这样你就没有这种类型的问题。这样,单个员工记录可以链接到多个任务,您只需使用员工的 ID。您还可以有一个将员工与任务联系起来的交叉引用表。这意味着 3 个表,而不仅仅是 2 个,但这是很常见的事情。
-
tEmpNum jEmpNum yEmpNum xEmpNum 0 15059 0 15059 13456 13456 13456 13456 15059 15059 15059 15059 15059 15059 15059 15059 15059 15059 15059 15059 - 说我想的15059每次发生更新为13673?尽管这些是数字,但许多值包含诸如 RH6754 之类的文本等等。谢谢。 :)
标签: sql sql-server sql-update dynamic-sql