【问题标题】:Update a column present in multiple tables更新多个表中存在的列
【发布时间】:2014-04-11 10:56:15
【问题描述】:

如何更新存在于多个表中的列?

我正在设计一个具有多个 Dim_tables 的 DW,其公共列名为 DS 如何将其值设置为 1 ?

我试过了,但它给出了错误

use [DW]
go
exec sp_msforeachtable 'UPDATE ? SET [DS]=1'
go

消息 207,第 16 层,状态 1,第 3 行 列名“DS”无效。

【问题讨论】:

标签: sql-server


【解决方案1】:

好的,我明白了! 该错误是因为在检查列之前编译了代码。我可以这样做:

EXEC sp_MSforeachtable 
@command1='
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=PARSENAME("?",2) AND TABLE_NAME=PARSENAME("?",1) AND COLUMN_NAME="DS")
BEGIN
   EXEC(''
          BEGIN
              UPDATE ? SET [DS]=1
          END
        '')
END
'

【讨论】:

    猜你喜欢
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    相关资源
    最近更新 更多