поиск экземпляра текста в файлах sql после предложения WHERE

У меня есть решение VS2008 с проектом базы данных, в нем находится папка, содержащая целый набор хранимых процедур sql (мы говорим о сотнях).

Из-за изменения, внесенного в настройку ANSI_NULLS для всех sprocs, мне нужно обновить все экземпляры '= null' до 'is null'.

Я не могу сделать «найти и заменить все» в файлах .sql, так как большинство экземпляров этой строки находятся в объявлениях sproc, т. Е. «@DtDate DateTime = null» (который я не хочу менять). Однако все другие экземпляры, такие как «if (@dtDate = null)», я хочу изменить, так как они больше не действительны.

Каков хороший способ заменить все вхождения текста "= null" на "is null", которые встречаются после определенного слова (например, "WHERE") во всех файлах .sql в папке проекта базы данных?

Огромное спасибо

12.10.2009 22:12:46
Я думаю, что это может быть сделано с помощью регулярных выражений, но у меня возникают проблемы с поиском правильного синтаксиса выражения
Scozzard 12.10.2009 22:41:55
У поиска файлов Windows есть возможность специально искать содержимое файла.
OMG Ponies 12.10.2009 22:49:16
Другой альтернативой может быть установка Cygwin и использование grep: cygwin.com
OMG Ponies 12.10.2009 22:50:19
Если нет конкретного соглашения по кодированию SQL, я сомневаюсь, что это возможно.
dance2die 12.10.2009 23:43:56
Ограничены ли объявления определенным блоком? Тогда, может быть ... до тех пор, пока у вас нет никаких назначений на null, кроме объявлений ...
Kev 14.10.2009 16:05:42
1 ОТВЕТ
РЕШЕНИЕ

В конце концов я использовал немного регулярных выражений в диалоге поиска VS2008.

create(.|\n)*select(.|\n)*= null

Это нашло экземпляры "= null" после оператора select (отсутствующие экземпляры в объявлениях). Я тогда просто прошел каждый экземпляр вручную - работал хорошо.

0
15.10.2009 01:26:56