使用脚本更新表中的所有列

时间:2012-10-30 18:21:11

标签: sql tsql sql-server-2008-r2 cursor

有一天,我问了一个与栏目标题有关的类似问题。现在我在徘徊如何

update table1
set column1=REPLACE(column1, '"','')

update table2
set column2=REPLACE(column2, '"','')

update table3
set column3=REPLACE(column2, '"','')

可能会实现。我确信这将涉及sys.objectsinformation_schema.columns这些内容(无论SSMS中的绿色关键字被调用)。

这是否必须使用游标完成?

1 个答案:

答案 0 :(得分:1)

我不完全确定你的目标是什么,但以下内容可能有助于或至少指出你正确的方向。

    declare @sqlCmd as varchar(max)
    set @sqlCmd = ''

    select @sqlCmd = 'set ' + column_name  + ' = replace(' + column_name + ',''"'','''')'
    from INFORMATION_SCHEMA.COLUMNS
    where TABLE_NAME = 'table1'

   set @sqlCmd = 'update table1 ' + @sqlCmd
   print @sqlCmd
   exec(@sqlCmd)