【问题标题】:Generate Dynamic Update Statement via TSQL在 SQL 中生成动态更新语句
【发布时间】:2012-03-22 19:41:36
【问题描述】:

我有一个包含许多列的表格:

col1
col2
col3
coln....

我需要生成如下动态的UPDATE 语句,它将在生产中用于批量更新:

UPDATE TableA
SET TableA.ColA = ValueOfCol2
WHERE
   TableA.ColB='A'

谁能分享一个生成n个UPDATE语句的TSQL脚本吗?

谢谢

【问题讨论】:

  • 不明白WHERE TableA='A'的目的?
  • 你想在这里测试什么??? WHERE TableA = 'A' ??您不能只针对固定值“测试”表名......
  • 我很抱歉,这是一个错字。我已经更新了查询
  • 如果这是为了生产更新,我认为你需要更清楚地解释你想要什么,可能会显示架构并用文字解释你想要什么完成。

标签: tsql


【解决方案1】:

除非我误解了您的问题,否则您的示例代码有效:

UPDATE [updateDemo] SET [updateDemo].[col2] = [updateDemo].[col3] WHERE [col4] = 'A'

这是基于您的表是这样的假设:

col1 | col2 | col3 | col4
1      P      Z      A
2      Y      Z      A
3      K      S      V

上述更新查询将导致(方括号中的更改):

col1 | col2 | col3 | col4
1      [Z]    Z      A
2      [Z]    Z      A
3      K      S      V

【讨论】:

  • 感谢 Paul,我已将问题标题更新为 Dyanmic SQl。我需要能够根据 n 条记录生成动态更新语句
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多