我有一个带有+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
在这里,我想您必须执行以下步骤:
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+'%')