2

我有一个带有 +100 个表的数据库,大多数表都有一个保存 URL 但具有不同“列名”的列,并且 URL 也不同。例如

在一张桌子上

usa3030.Development.com/portal/mybook/chapter1/page1/line1

在另一个它的

usa3030.Development.com/portal/mybook/chapter1

依此类推,但可以肯定的是,每个 URL 中都有“usa3030.Development.com/portal/mybook/chapter1”

所以我想要一个查询,它将找到在列数据中包含文本的每一列(用“*”我认为我们称之为通配符)

"usa3030.Development.com/portal/mybook/chapter1"

并将其替换为

usa3030.Development.com/MyWorld/Chp1

回答

搜索或替换存储过程

4

1 回答 1

1

在这里,我想您必须经过以下步骤:

DECLARE @string varchar(max)
For each table in sys.Objects (where type='U')

      For each column of the above table

        IF EXISTS(select * from tablename where colname like '%'+@string+'%')
        update table tablename SET colnmae=REPLACE(colname,'old','new') where colname like '%'+@string+'%')
于 2012-08-15T09:49:54.550 回答