Нужна помощь с хранимой процедурой, которую я создаю и которая будет запускаться каждые 10 минут.
У меня есть две таблицы
Таблица: Транзакции
ID | TransactionID | OrderID
------+------------------+------------
1 | 000125 | 1051
2 | 000132 | 1052
3 | 0000189 | 1053
Таблица: Заказы
OrderID | TransactionID
---------+---------------------------------
1051 | 00125
1052 | 000313
1053 | 000189
Как вы видите, идентификаторы OrderID, совпадающие между двумя таблицами, имеют TransactionID, которые соответствуют друг другу. Я пытаюсь создать задание, в котором каждые 10 минут запускается задание и проверяется две таблицы, если идентификаторы транзакций совпадают с соответствующими идентификаторами OrderID, и задание должно отправлять простое оповещение по электронной почте, в котором указывается тело письма:
Не удалось сопоставить идентификатор транзакции для Order # и TransactionID # (Orders.Transactions) в "time".
Иногда будет несколько не совпадающих идентификаторов, иногда будет быть много, в большинстве случаев все будет совпадать. Каков наилучший способ достичь этого? Вот как далеко я продвинулся:
if exists (select o.OrderID, o.TransactionID
from Orders o
left join Transactions t on t.OrderID = o.OrderID
where o.TransactionID != t.TransactionID and o.OrderID = t.OrderID)
begin
"send email here for list"
else
begin
"do not send"
end
Как лучше всего решить эту проблему?