Задать вопрос
@Richard_Ferlow
Веб-программист

Как создать триггер в MSSQL для обновления при insert и update?

c MSSQL почти не работал, а с триггерами и вовсе.

Нужно что - есть таблица где есть поле колонка PHONE типа nvarchar(32) и сюда через программу менеджеры заносят телефоны без какого-либо формата, а по номеру нужно поиск проводить. Хочу создать колонку например METAPHONE и туда запихивать телефон чисто цифры из поля PHONE. Собственно вот, подскажите как текущие все записи обработать и сделать триггер который бы при каждой новой вставке и обновлении вписывал в metaphone исключительно цифры из поля phone? В самой программе увы ничего не изменить, вот с триггерами думаю может получится сделать.
Поиск буду производить подключаясь к базе извне из PHP, сервер с базой работает на Windows.
MSSQL 2008 R2
  • Вопрос задан
  • 902 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@art_karetnikov
Лучший мой проект: Мобильный банк Сбербанка РФ.
А заносят данные менеджеры пользуясь прямым доступом к базе или через процедуру? Обычно, если разработчик не мммм... странный чудак, это делается через процедуру. Имеет смысл посмотреть на нее и в ней поменять.

Ну, если уж никак и нужен триггер - да, это возможно, абсолютно ничего сложного нет, так и пишется create trigger ... on [tablename] ... for update, insert в нем проверяете, что обновляется/вставляется поле Phone и делаете вставку-апдейт нужного вам значения. Работы на полчаса, если прочитать хелп по create trigger, неопытному человеку. Лучше делать триггера отдельно для апдейта и инсерта свой.

Будет затык - ну, не знаю, попробуйте обратиться в личку, если у вас интересное предложение. текущие записи, конечно, надо просто Update'ом обработать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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