Почему бы не реализовать вставку в хранимой процедуре, а выполнить бизнес-логику в процедуре после вставки? Что в этом такого сложного, что его нельзя написать на T-SQL?
у написать сервис (вероятно, в C #), который контролирует таблицу базы данных. Когда запись вставляется в таблицу, я хочу, чтобы сервис захватывал вновь вставленные данные и выполнял с ними некоторую сложную бизнес-логику (слишком сложную для TSQL).
Один из вариантов заключается в том, чтобы служба периодически проверяла таблицу на предмет наличия новых записей. Проблема с этим заключается в том, что я хочу, чтобы служба знала о вставках, как только они происходят, и я не хочу снижать производительность базы данных.
Делая небольшое исследование, кажется, что, возможно, написание триггера CLR может сделать эту работу. Я мог бы написать триггер в C #, который срабатывает при вставке, а затем отправить вновь вставленные данные в службу Windows или WCF.
Как вы думаете, это хорошее (или даже возможное) использование триггеров SQL CLR?
Любые другие идеи о том, как этого добиться?