Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Улучшение кода  [new]
Koneko
Member

Откуда: Cloud
Сообщений: 49
Ситуация такая. Приходит список е-мэйлов для почтовой рассылки в формате экселя. Далее этот список импортируется во временную таблицу эм-сиквиля. Однако не всегда указаны корректные адреса (где-то пропущен @, где-то имя не так записано, где-то указаны сразу два адреса). Необходимо вывести список всех некорректных адресов запросом в SQL Query Analyzer. Вот что у мя получилось:

Код
use rassylka
select LastName, FirstName, Email
from [dbo].[clients_tmp]
where Email like '%@[. ,;:]%'
or Email like '%[ ;:]%@%'
or charindex('@',Email)=0
order by 1,2


Вообще запрос работает... Но может кто-нить посоветует как его улучшить
8 сен 05, 10:56    [1857783]     Ответить | Цитировать Сообщить модератору
 Re: Улучшение кода  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
Хм, сделать вычисляемое поле + индекс по нему?
8 сен 05, 10:58    [1857796]     Ответить | Цитировать Сообщить модератору
 Re: Улучшение кода  [new]
Koneko
Member

Откуда: Cloud
Сообщений: 49
Это как? проблема ещё в том что я так и не смок придумать как объединить запрос на проверку правильности мыла в одной строке. Пришлось разбивать проверку на три части: проверку имени, домена и присутвует ли вообще '@'.
8 сен 05, 11:01    [1857809]     Ответить | Цитировать Сообщить модератору
 Re: Улучшение кода  [new]
Glory
Member

Откуда:
Сообщений: 104760
Koneko
Вообще запрос работает... Но может кто-нить посоветует как его улучшить

Надо проверять корректность мэйлов при вводе. Имхо
8 сен 05, 11:01    [1857810]     Ответить | Цитировать Сообщить модератору
 Re: Улучшение кода  [new]
Koneko
Member

Откуда: Cloud
Сообщений: 49
Импорт идёт средствами DTS. Да и по большому счёту это проверка не нужна. :) Если мыло было указано неправильно, то на него естесвенно ничего не отправится. И это будет не моя проблема, а тех кто составлял *.xls.
Так что мне просто для себя хочется проверять - верны ли записи. А потом их исправить, если есть желание
8 сен 05, 11:04    [1857826]     Ответить | Цитировать Сообщить модератору
 Re: Улучшение кода  [new]
Glory
Member

Откуда:
Сообщений: 104760
Koneko
Импорт идёт средствами DTS. Да и по большому счёту это проверка не нужна. :) Если мыло было указано неправильно, то на него естесвенно ничего не отправится. И это будет не моя проблема, а тех кто составлял *.xls.
Так что мне просто для себя хочется проверять - верны ли записи. А потом их исправить, если есть желание

Ну дык при загрузке _один_ раз проверять в выставлять флажок.
При редактировании в триггере тоже проверять.
8 сен 05, 11:09    [1857858]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить