как в бд узнать последний sql запрос запущенный из указанного приложения

zloyGamer
Дата: 09.08.2012 15:13:21
возможно есть какая то системная табличка в которой можно посмотреть эту информацию...
или не последний а текущий выполняемый запрос..
Таблоид
Дата: 09.08.2012 15:26:21
zloyGamer,

1) последний выполнявшийся и завершивший свои деяния (независимо от того, завершилась ли его транзакция!) - никак;
2) текущий выполняемый (т.е. что-то делающий ДО СИХ ПОР в базе или отфетчивший клиенту НЕ ВСЕ строки и ожидающий от клиента реакции) - mon$statements.
Полезная инфа по полю MON$STATE - тут.
Ну и помните, что в момент ROLLBACK\'a / COMMIT\'a вся соотв-щая инфа в mon$statements уже отсутствует (см, к примеру, топик на эту тему).
zloyGamer
Дата: 09.08.2012 15:47:44
Таблоид, спасибо тебе добрый человек
kdv
Дата: 09.08.2012 19:56:28
про "текущие" - это или mon$statememts, или FBScanner.
oleg_m
Дата: 10.08.2012 08:40:44
Таблоид
zloyGamer,
1) последний выполнявшийся и завершивший свои деяния (независимо от того, завершилась ли его транзакция!) - никак;

ну уж прямо никак... если позаботиться об этом заранее очень даже "как".
не через "системные таблицы" конечно, как спрашивает ТС, но можно.

а) если заранее была запущена трассировка или системный аудит - можно найти в логах.
б) если коннект был через FBScanner - в его логгировании; но даже если его логирование было выключено - FBScanner держит в памяти короткий лог на 20 последних запросов для каждого коннекта. Вдруг кому интересно станет.