2014-01-20 5 views
-1

У меня есть база данных с адресами электронной почты.Новый адрес электронной почты

Моя компания меняет наш электронный адрес конвенции от:

[email protected]

в

[email protected]

Я хотел бы написать SQL для обновления всех адресов электронной почты одним выстрелом в этой базе данных. Имя и фамилия - это столбцы в одной таблице (для простоты мы будем называть MY_TABLE).

Как я могу это сделать в инструкции Oracle SQL?

+0

Это относительно прямолинейно, вы что-то пробовали? – LittleBobbyTables

ответ

1

Похоже, вы просто хотите

UPDATE my_table 
    SET email_address = first_name || '.' || last_name || '@contoso.com' 

Это будет обновлять каждую строку в таблице и предполагает, что у вас нет NULL первых или последних значений имен.

+2

вам также нужно будет обрабатывать пространство, апостроф и, возможно, другие символы в first_name и last_name. – BWS

+0

Также обрабатывать письмо. – Machado

0

Вы Juste хотите обновить email поле с двумя другими полями:

UPDATE my_table SET email= first_name || '.' || last_name || '@contoso.com' 
    WHERE first_name != NULL AND last_name != NULL 

Имейте в виду, что преобразование может быть неправильным, если first_name или last_name пусто ...

EDIT: На самом деле то, что вы хотите похож на этот вопрос: SQL UPDATE SET one column to be equal to a value in a related table referenced by a different column?

Смежные вопросы