有没有一种简单的方法可以在我的 SQL Server 数据库中的每个视图和存储过程中查找和替换字符串。
我需要将“X United Kingdom”替换为“X(UK)”。
您需要查看sysobjects和syscomments,视图和存储过程的文本位于syscomments中。它们的类型 V = View 和 P = procedure 位于 sysobjects 中
/*Search Stored Procedure and View Text*/
declare @searchString varchar(100)
SELECT @searchString = 'X United Kingdom'
SELECT Distinct
SO.Name, SC.[text]
FROM
sysobjects SO (NOLOCK)
INNER JOIN syscomments SC (NOLOCK) on SO.Id = SC.ID
AND SO.Type IN ('P', 'V')
AND SC.Text LIKE '%' + @searchString + '%'
不幸的是,您无法更新系统目录:(
因此,唯一简单的方法是使用脚本生成器,然后在您最喜欢的文本编辑器中搜索和替换。
编辑:
我发布了一个生成 ALTER 语句的脚本,但是截断了一个冗长的过程,并且系统注释已被弃用等等......等等......我撤销了我的答案的这一部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)