2014-10-16 1 views
0

Я хочу вызвать определенную процедуру, которая регистрируется каждый раз, когда пользователь базы данных создается или удаляется в db (sql Anywhere 16). Для этого я написал функцию, которая должна вызываться через триггер, когда строка вставлена ​​или удалена из таблицы SYS.SYSUSER.Создать триггеры в таблице SYSUSER в sql Anywhere 16

Однако я не могу создать триггер на этой таблице. Могу ли я создать триггер на этом или есть какой-то другой способ получить уведомление, когда пользователь создан или удален для db?

Новое на Sybase, пожалуйста, помогите.

Heres это мой создать триггер код

CREATE TRIGGER myTrigger AFTER INSERT ON sys.sysuser 
REFERENCING NEW AS newRecord 
FOR EACH ROW 
BEGIN 
     -- 
END; 
+0

'sysuser' - это точка зрения. В основе таблицы лежит «sys.isysuser». Возможно, поэтому вы не можете создать триггер, но я точно не знаю. –

ответ

0

Вы не можете создать триггер на системную таблицу. Вы можете создать обработчик для «системных событий», которые описаны в онлайн-формате SQL Anywhere documentation. К сожалению, создание или удаление пользователей не является системным событием, которое можно обработать. Я не верю, что есть вероятность, что вы можете делать то, что хотите.

Полное раскрытие информации: Я работаю для SAP в SQL Anywhere.

+0

Извините, но я хочу знать, что вы имеете в виду под опросом? – sunny

+0

Опрос = проверка иногда. Вы можете создать свою собственную таблицу, которая содержит всех текущих пользователей, а затем время от времени проверять системную таблицу, чтобы увидеть, были ли созданы новые пользователи или удалены существующие пользователи. –

+0

Вот как я в настоящее время работал, но думал, что кто-то знает лучшее решение, а что касается журналов транзакций? – sunny

Смежные вопросы