【发布时间】:2014-05-15 20:22:58
【问题描述】:
Pinal Dave 拥有this neat query,他在其中找到了他数据库中所有表中名为EmployeeID 的所有列:
select t.name as table_name,
schema_name(schema_id) as schema_name,
c.name as column_name
from sys.tables as t
inner join sys.columns c on t.object_id = c.object_id
where c.name like '%EmployeeID%'
order by schema_name, table_name;
有没有办法将该数据连接到匹配列中的数据?
我尝试添加一个额外的 join 并查看其他 sys.* 项目,看看其中一个听起来是否像是数据。
我也尝试围绕这个构建一个外部select,但这要求joins 的格式(显然)不起作用:
select ( /* above */ ) as foo
inner join foo.table_name bar on bar.something = foo.something --???
还有什么我可以做的吗?我的最终目标是为所有表中的所有行更新EmployeeID。
【问题讨论】:
-
不是没有动态SQL
-
表格本身就是数据。
标签: sql sql-server sql-server-2008 join