SQL Server2005. Возникла у меня забавная задачка.. Хранимые процедуры пишут в лог файлы некоторую информацию. Проблема в том, что разный люд не всегда отслеживал регистр символов записываемой строки. Это оказалось важно (очень :
Строки шифруются потом...) Теперь у меня есть 450 процедур, в некоторых из них строки записаны как
exec sys_log 'CSC', 'adr_ins_City', 'Transaction', '', 'Begin', '', @id_proc
, а в некоторых как
exec sys_log 'csc', 'adr_ins_City', 'Transaction', '', 'Begin', '', @id_proc
. И нужно бы в них всех заменить строчные буквы 'csc 'на прописные...
открыть, найти с учетом регистра и поменять ручками я, конечно, могу... а можно как-то автоматизировать процесс?
Есть следующая утилитка, весьма удобная...
create PROCEDURE [Утилиты: поиск текста в хранимых процедурах]
@SearchPattern nvarchar(128),
@ExcludePattern nvarchar(128)
AS
BEGIN
set nocount on
select
rtrim(o.name) as 'Имя объекта',
o.type as 'Тип объекта'
from
sys.all_objects o inner join sys.schemas u on u.schema_id = o.schema_id
inner join sys.all_sql_modules c on c.object_id = o.object_id
where
u.name = N'dbo'
and c.definition like '%' + @SearchPattern + '%'
and c.definition not like IsNull(@ExcludePattern, '')
order by
o.type,
o.name
END
Но она ищет без учета регистра... как модернизировать, сообразить не могу