Groups | Blog | Home
all groups > sql server programming > august 2006 >

sql server programming : Question about querying xml returned by eventdata() function in ddl trigger


markc600 NO[at]SPAM hotmail.com
8/22/2006 1:47:54 PM
Change

Col.value('(/EventType/text())[1]','nvarchar(max)') as 'Event Type'
,Col.value('(/PostTime/text())[1]','datetime') as 'Post Time'

to

Col.value('(EventType/text())[1]','nvarchar(max)') as 'Event Type'
,Col.value('(PostTime/text())[1]','datetime') as 'Post Time'

i.e. drop the leading '/'
Bishoy George
8/22/2006 11:04:39 PM
Hi All,
I wanted to query the xml returned by the eventdata() function in a ddl
trigger to view it in result set.

I made that code but it returned null, any help please?

create trigger DatabaseEvents
on database
for ddl_database_level_events
as
--select
eventdata().value('(/EVENT_INSTANCE/EventType/text())[1]','nvarchar(max)')
declare @data xml
select @data = eventdata()
select
Col.value('(/EventType/text())[1]','nvarchar(max)') as 'Event Type'
,Col.value('(/PostTime/text())[1]','datetime') as 'Post Time'
from @data.nodes('/EVENT_INSTANCE') as EventsTable(Col)
go


Thank you in advance,
Bishoy

AddThis Social Bookmark Button