Я хочу получить событие "изменения", когда в MS SQL были вставлены новые строки с определенным значением столбца.
Ниже приведен код, который я сейчас использую, который работает довольно хорошо, за исключением того, что он вызываетсобытие, когда любое значение строки в столбце [Status] меняется на / OR с "NEW".
public void InitialiseDependencyWORK(Action onDependencyMethod)
{
this.onDependencyMethod = onDependencyMethod;
string sqlCommandText = "SELECT [Symbol] FROM [JJ].[Orders] WHERE [Status] = 'NEW'";
using (SqlCommand command = new SqlCommand(sqlCommandText, conn))
{
Dependency = new SqlDependency(command);
Dependency.OnChange += new OnChangeEventHandler(OnDependencyChange);
using (SqlDataReader reader = command.ExecuteReader())
{
// Process the DataReader.
}
}
}
void OnDependencyChange(object sender,
SqlNotificationEventArgs e)
{
// Handles NEW rows
}
Меня интересует только когда новая строка вставляется с [Status] = "NEW", но это событиетакже запускается, когда нет новой вставки, НО [Статус] изменился с «НОВОГО» на что-либо еще.
Как я могу получить событие триггера, только если была новая вставка?
Я хотел бы получить событие триггера, когда строки новостей были вставлены, как строка 2 ниже:
OrderID, Status
1,Done
2,NEW
Я не хочу, чтобы это инициировало, потому что строка 2 только что обновила свой статус - фактически нетновая строка для обработки:
OrderID, Status
1,Done
2,Done
Как этого добиться?