У меня есть веб-приложение, которое синхронизируется с LDAP / eDirectory, и его данные хранятся в базе данных SQL Server 2008 Enterprise.
Наша организация только что перешла на MS / AD, и с этой миграцией появилось новое соглашение об именах учетных записей пользователей, которое, конечно, изменило адрес электронной почты каждого.
Веб-приложение использует поле EMAIL
в таблице CLIENT
базы данных в качестве основного / обязательного поля, поэтому, если я могу изменить существующий набор записей CLIENT.EMAIL
, чтобы отразить новый формат адреса электронной почты, и синхронизировать в AD вся остальная информация об учетной записи будет обновляться без потери учетных записей и без потери этих учетных записей доступа к своей истории в веб-приложении (я проверил это, изменив одну запись EMAIL
и синхронизировавшись с AD, затем учетная запись может войти с учетными данными AD и просмотреть всю историю учетной записи, которая была создана с учетной записью пользователя LDAP / eDir).
Я мог бы сделать это вручную (обновлено 1 255 записей), но я думал, что SQL-запрос будет лучшим решением.
На данный момент я написал следующее выражение SELECT
(которое дало мне результат, который я хочу вставить в столбец EMAIL рабочей базы данных):
SELECT FIRST_NAME + '.' + LAST_NAME + '@email.com' FROM db_name.TABLE_NAME
Что мне нужно для этого результата, так это UPDATE
поле / столбец EMAIL
(который в настоящее время имеет формат LAST_NAMEFIRST_INITIAL@email.com
) с результатом приведенного выше оператора SELECT
.
Если я добавлю строку: UPDATE CLIENT.EMAIL
над этим оператором, я получу синтаксическую ошибку в части SELECT, показанной выше.
Я хочу:
- возьмите существующее поле
EMAIL
(которое показывает smithj@email.com
для клиента Джона Смита),
- затем
SELECT
поля имени и фамилии, разделенные '.' и добавьте @email.com
в конец, чтобы я получил john.smith@email.com
для той же записи (и ОБНОВЛЕНО всему полю / столбцу EMAIL соответствующей записью на основе формата FIRST_NAME.LAST_NAME@email.com.
Возможно ли это? Если так, как мне обойти синтаксические ошибки, которые я продолжаю получать? Любая помощь будет принята с благодарностью.