2012-03-22 85 views
0

动态更新语句我有一个表列数:生成通过TSQL

col1 
col2 
col3 
coln.... 

我需要生成动态UPDATE语句像下面这将在生产中使用的批量更新:

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

任何人都可以请共享一个TSQL脚本,生成n个UPDATE声明如上,请?

谢谢

+1

我不明白'WHERE TableA ='A''的用途? – Curt 2012-03-22 09:37:29

+0

你想在这里测试什么? '表A ='A''?你不能只是测试一个固定值的表名...... – 2012-03-22 09:38:20

+0

我的歉意,这是一个错字。我更新了查询 – 2012-03-22 09:57:22

回答

0

除非我误解你的问题,你的示例代码的工作原理:

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 
+0

谢谢Paul,我已经将我的问题标题更新为Dyanmic SQl。我需要能够根据n个记录生成dyanic更新语句 – 2012-03-22 11:42:56