Cобытие появления новой колонки таблицы

xuhapal
Дата: 02.08.2005 16:16:35
Можно ли как то отследить событие появления новой колонки таблицы?
Barkovsky
Дата: 02.08.2005 16:20:58
фигасе)
есть триггер before/after ddl.
а нужно ли?
xuhapal
Дата: 02.08.2005 17:26:22
Триггер не получается. Ошибка

ORA-04089: cannot create triggers on objects owned by SYS
Wolfon Stromboy
Дата: 02.08.2005 17:29:09
Приведи текст триггера
Vadim_Maximov
Дата: 02.08.2005 17:30:12
...все застыли в ожидании...
Gluk (Kazan)
Дата: 02.08.2005 17:31:35
Вот черт, вешать триггеры на таблицы SYS-а в ожидании добавления в них колонок даже я не додумался
Vint
Дата: 02.08.2005 17:34:50
да погодите вы интересно что у человека получиться............
xuhapal
Дата: 02.08.2005 18:02:32
мне нужно отреагировать на событие появления новой колонки, триггером не получится, вы можете посоветовать, что можно сделать в этом случае?
strm
Дата: 02.08.2005 18:18:25
xuhapal
мне нужно отреагировать на событие появления новой колонки, триггером не получится, вы можете посоветовать, что можно сделать в этом случае?

trigger on ALTER ON DATABASE(SCHEMA)
SY
Дата: 02.08.2005 18:35:23
You have, I believe, two choices. Simple(r) one. If you know adding a column was last DDL applied to that table, check

SELECT TO_CHAR(LAST_DDL_TIME,'MM/DD/YYYY HH:MI:SS AM') FROM USER_OBJECTS WHERE OBJECT_NAME = 'TBL'
/

Otherwise, use DDL event trigger. However, it is not that trivial as Barkovsky and strm sound. As far as I know system event ora_is_alter_column is set if column is being added or modified, therefore you most likely will need to parse result of ora_sql_txt event - the triggering statement - to tell for sure.

SY.