如何更新多个表中的列?
我正在设计一个具有多个Dim_tables的DW,其公共列名为DS,如何将其值设置为1?
我试过这个,但它给出了错误
use [DW]
go
exec sp_msforeachtable 'UPDATE ? SET [DS]=1'
go
Msg 207,Level 16,State 1,Line 3 列名称无效' DS'。
答案 0 :(得分: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
'