You are getting current SQL but you need to go thru all SQL for this session
to find out if there was alter table drop (column).
Alex Hillman
Original Message-----
Sent: Wednesday, June 06, 2001 9:36 PM
To: Multiple recipients of list ORACLE-L
Obtaining the triggering statement is beyond my ken. If I use a "before"
trigger
and a cursor,
select
lower(replace( q.sql_text,' ',null))
from v$sql q, v$sql_cursor c, v$session s
where s.audsid=audsid and
s.prev_sql_addr=q.address and
q.address=c.parent_handle;
.
I get back
select
lower(replace( q.sql_text,' ',null))
from v$sql q, v$sql_cursor c, v$session s
where s.audsid=audsid and
s.prev_sql_addr=q.address and
q.address=c.parent_handle;
If I do it as an after statement trigger I get back
deletefromcol$whereobj#=:1andintcol#=:2
which is the DML run against the sys object to execute the drop column
request. Of course if
I do it as an "after" I cannot loop through the column_names to check for
which one was dropped
because it already has been.
Ian MacGregor
Stanford Linear Accelerator Center
[EMAIL PROTECTED]
-----Original Message-----
Sent: Wednesday, June 06, 2001 8:52 AM
To: Multiple recipients of list ORACLE-L
Also is there any view where I can see statements like create or drop schema
object. In v$sqlarea I cannot see this type of DDL. I can see alter schema
object.
It is 8.1.7 Solaris
As to the question - I did not try it but if owner of the trigger has access
to$sqlarea you can inside trigger query v$sqlarea for current session and
check if there are any alter... drop statements. Strange that oracle does
not provide SQL statement as one of the trigger attributs.
Alex Hillman
-----Original Message-----
Sent: Tuesday, June 05, 2001 9:46 PM
To: Multiple recipients of list ORACLE-L
I've written a system event trigger which records information on when a
table was dropped or truncated. I would also like
to record when someone does an "alter table drop column..." The problem is
determining when the alter statement includes the drop column clause. It
looks like I have to use the ora_is_drop_column function, calling it for
each column in the table and checking the return code. Is there a way of
determing whether "drop column" was issued without using this function?
Ian MacGregor
Stanford Linear Accelerator Center
[EMAIL PROTECTED]
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: MacGregor, Ian A.
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Hillman, Alex
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: MacGregor, Ian A.
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Hillman, Alex
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).