【发布时间】:2012-01-18 16:27:39
【问题描述】:
您好,我正在研究 SQL 数据库
使用 Microsoft SQL Server 2008 R2 和 Microsoft SQL Server 管理工作室
我有一个名为 FixedNamesDb 的数据库 在数据库中有一张名为 All
的表类似这样(这是一个例子):
OldNames NewNames
------------+---------------+
tom G Thommas Grady
Kate F Kateline Farwell
John S Jhon Smith
在另一个名为DescriptionDb的数据库中,有很多表Table1、Table2、Table3 ...。
FixedNamesDb 中的 Foreach Oldname 我需要搜索 DescriptionDb 中的所有表,如果 oldname 出现在任何字段中,我需要用 newName 替换它 p>
我在 DescriptionDb 中的所有表中搜索包含“John S”的字段并将其替换为“Jhon Smith”
有关如何自动执行此操作的任何帮助?使用脚本、查询或其他方式。
更多信息:
每个名称仅在 DescriptionDb
的一个表中出现一次
所有名字都出现了(没有不存在的名字)
所有名称都位于表的第二行(ID=2 的行)
非常感谢您的帮助。
【问题讨论】:
-
如果两个数据库在同一个服务器你可以使用
DatabaseName.SchemaName.TableName访问每个数据库表,如果你的数据库在不同的服务器你需要在两个服务器之间创建linkedserver -
两个数据库在同一个服务器。但我的问题是如何逐字段搜索整个表格以检查它是否等于我需要更改的名称
标签: sql sql-server-2008 replace