sql server EVENTDATA関数を例にxmlの値を取得

1751 ワード

--      
create database  chl_fromempty
use chl_fromempty
--     xml  
create table chl_ddlevendate(fdata xml,fid int identity(1,1),fdatetime datetime default getdate())
--  DDL              
create trigger chl_tableddl_getdata on database
for create_table,alter_table,drop_table
as
insert into chl_ddlevendate(fdata) select  EVENTDATA()
--  ,   
create table chl001(a int,b char(1),c date)
--      XML
select * from chl_ddlevendate 
--       xml   

  CREATE_TABLE
  2019-08-15T09:48:23.967
  61
  HANLIN-PC
  sa
  dbo
  chl_fromempty
  dbo
  chl001
  TABLE
  
    
    create table chl001(a int,b char(1),c date)

  


--  EVENTDATA   
--https://docs.microsoft.com/zh-cn/sql/relational-databases/triggers/use-the-eventdata-function?view=sql-server-2017

--            
SELECT fdata.value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')        from chl_ddlevendate
--  
      
create table chl001(a int,b char(1),c date)
SELECT fdata.query('(/EVENT_INSTANCE/TSQLCommand)')       from chl_ddlevendate
--  
     
create table chl001(a int,b char(1),c date)