powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Триггер на удаление, параметры сессии
5 сообщений из 5, страница 1 из 1
Триггер на удаление, параметры сессии
    #35415586
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется некоторая заданная заранее таблица, и необходимо собирать данные о том, кто выполняет на ней DELETE .
Воспользовался триггером.
Пользователся получаю из переменной USER
Время из CURRENT

А как можно получить полный текст SQL запроса и приложение из которого он выполнен, если это возможно конечно?

IDS 9.40 Win
...
Рейтинг: 0 / 0
Триггер на удаление, параметры сессии
    #35415628
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Середа
А как можно получить полный текст SQL запроса и
IDS 9.40 WinНикак.

Середаприложение из которого он выполненЭто вроде в 11-й версии можно, но нафига?
...
Рейтинг: 0 / 0
Триггер на удаление, параметры сессии
    #35415655
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев Денис Середа
А как можно получить полный текст SQL запроса и
IDS 9.40 WinНикак.

Середаприложение из которого он выполненЭто вроде в 11-й версии можно, но нафига?

что бы получить своего рода аудит удалений по данной таблице.
...
Рейтинг: 0 / 0
Триггер на удаление, параметры сессии
    #35423308
Середа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблемка решилась и довольно просто. Не в полном объеме, но вполне достаточно.
Может кому-то будет тоже полезно:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE TABLE table_for_audit_of_deletes
	(
	username character( 30 ) NOT NULL,
	hostname character( 20 ),
	sqls lvarchar,
	time datetime YEAR TO FRACTION NOT NULL
	)
	EXTENT SIZE  32  NEXT SIZE  32 
	LOCK MODE PAGE;

CREATE TRIGGER trigger_for_audit_of_deletes delete on table_which_under_control
	before (
INSERT INTO table_for_audit_of_deletes (username, hostname, sqls, time)
SELECT username, hostname, sqs_statement,  DBINFO('utc_to_datetime', sh_curtime)
FROM    sysmaster:syssessions, sysmaster:syssqlstat, sysmaster:sysshmvals
WHERE   sid = sqs_sessionid
AND UPPER(sqs_statement) like 'DELETE%'
AND username = USER
);

Т.е. в таблицу table_for_audit_of_deletes будут помещаться: логин, хост, сам запрос и время. Событие: удаление данных из таблицы table_which_under_control .

Кстати, если кто-то увидит подводные камни в таком решении, пожалуста сообщите.
...
Рейтинг: 0 / 0
Триггер на удаление, параметры сессии
    #35423592
Фотография TmpFile()
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как быть с правами на sysmaster:syssqlstat?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Триггер на удаление, параметры сессии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]