Страница 1 из 1

Изменение состояния триггера.

Добавлено: 12 мар 2005, 02:55
AndriyKo
FB 1.5. Создана роль Administrator со всевозможными правами.
В том числе, выполнен

Код: Выделить всё

Grant All On GoodsT To Administrator
Юзеру сделан

Код: Выделить всё

Grant Administrator To NameUser
При попытке выполнить с клиента DDL

Код: Выделить всё

Alter Trigger AfterInsertGoodsT Inactive
получаю
unsuccessful metadata update MODIFY TRIGGER failed
no permission for control access to TABLE GOODST
При коннекте SYSDBA эта DDL проходит, ессессно.
Что не так ? Где-то вроде проскакивало, что так делать запрещено, или мне это приснилось ? Ткните носом, плиз, в ссылку или так объясните. В "Мир Interbase", к примеру, не пишется об каких-либо ограничениях.

Добавлено: 12 мар 2005, 08:42
Лысый
Если я не ошибаюсь, то изменять метаданные может либо владелец, либо sysdba.

Добавлено: 12 мар 2005, 09:49
dimitr
ALL = SELECT + INSERT + UPDATE + DELETE [+ EXECUTE].
Ни одно из них к ALTER не относится.

Добавлено: 12 мар 2005, 17:19
AndriyKo
Т.е. выкрутиться невозможно ?

Добавлено: 12 мар 2005, 20:08
dimitr
Теоретически возможно. Недокументированными способами. Через танцы с бубном над системными таблицами. Но я этого советовать не буду.

Добавлено: 14 мар 2005, 18:53
AndriyKo
dimitr писал(а):Теоретически возможно. Недокументированными способами. Через танцы с бубном над системными таблицами. Но я этого советовать не буду.
Дим, ну пожалуйста, покажи основные па. Я буду осторооооожненько. Я понимаю, что это не очень хороший путь, но перелогинивацца под SYSDBA мне тем более не хочется.

Добавлено: 14 мар 2005, 19:32
dimitr
ответ отрицательный

Добавлено: 14 мар 2005, 19:53
AndriyKo
dimitr писал(а):ответ отрицательный
Ну что ж, делать нечего, и на том спасибо. Придётся изобретать свои танцы...

Добавлено: 14 мар 2005, 20:51
kdv
а зачем вообще требуется деактивировать триггер посредством пользователя??? нельзя, что-ли, например, действия триггера сделать в if по значению некоего генератора в 0 или 1?

Добавлено: 14 мар 2005, 21:01
Merlin
kdv писал(а):а зачем вообще требуется деактивировать триггер посредством пользователя??? нельзя, что-ли, например, действия триггера сделать в if по значению некоего генератора в 0 или 1?
Это если требуется деактивировать для всех. А только для себя - спицияльно обученный столбец, этой самой таблицы, как неоднократно говорили большевики :)

Добавлено: 15 мар 2005, 01:16
AndriyKo
kdv писал(а):а зачем вообще требуется деактивировать триггер посредством пользователя??? нельзя, что-ли, например, действия триггера сделать в if по значению некоего генератора в 0 или 1?
Merlin писал(а):Это если требуется деактивировать для всех. А только для себя - спицияльно обученный столбец, этой самой таблицы, как неоднократно говорили большевики
Конечно, можно. Я ж и говорю, придётся свои танцы изобретать. Не знаю, почему, но испытываю стойкое отвращение к излишним метаданным - типа "некоего генератора" или "спицияльно обученный столбец". :)))