Альтернатива СЛИЯНИЮ ("старомодный путь"):
begin
insert into t (mykey, mystuff)
values ('X', 123);
exception
when dup_val_on_index then
update t
set mystuff = 123
where mykey = 'X';
end;
Думаю, ваш ответ - «Нет». Я не думаю, что существуют такие библиотеки.
Я также считаю, что лучшим решением здесь является ведение журнала, то есть вам следует вручную ввести некоторые функции журнала в основные функции вашей программы и отправить файл журнала обратно. Когда дело доходит до ведения журнала, вы можете рассмотреть возможность использования аспектно-ориентированного программирования (и есть таких инструментов для C ++), это может упростить вашу задачу ...
Первый вопрос: стоит ли это делать? Людям не нравится, когда их программное обеспечение звонит домой без их согласия. Но если они согласны с этим, тогда:
Это технически возможно, с двумя подходами: автоматическим или ручным. Конечно, учитывая ваш вопрос, я предполагаю, что вы используете Qt.
Автоматически:
Руководство:
Финал: