SQL 如何从其他 table 列更新基于 table 的名称 tablename
SQL how to update table based name tablename from other table column
在将生产数据库迁移到测试环境时,我需要在 table 秒后更新一个值。 table 的名称可以在另一个 table 中找到。我怎样才能做到这一点?
我的意思是:
for each value$ in select replace(tablename,' ','') from table1
update value$ set replace(column1,'A','B')
它看起来像一个嵌套的 SQL 语句。
您需要为此构建一些动态 sql。我更喜欢一次性构建并作为一个整体执行:
declare @sql varchar(max) = ''
select @sql += '
update ' + QUOTENAME(replace(tablename,' ','')) + '
set column1 = replace(column1,''A'',''B'')'
from table1
exec (@sql)
在将生产数据库迁移到测试环境时,我需要在 table 秒后更新一个值。 table 的名称可以在另一个 table 中找到。我怎样才能做到这一点?
我的意思是:
for each value$ in select replace(tablename,' ','') from table1
update value$ set replace(column1,'A','B')
它看起来像一个嵌套的 SQL 语句。
您需要为此构建一些动态 sql。我更喜欢一次性构建并作为一个整体执行:
declare @sql varchar(max) = ''
select @sql += '
update ' + QUOTENAME(replace(tablename,' ','')) + '
set column1 = replace(column1,''A'',''B'')'
from table1
exec (@sql)