我尝试使用XML将数据插入SQL。我已经成功地找到了插入操作。
create table #testTable (name varchar(50), designation varchar(50));
declare @xmldata as xml
set @xmldata = '<?xml version="1.0"?>
<Employees>
<Employee name="John" designation="SE"></Employee>
<Employee name="Adam" designation="ASE"></Employee>
</Employees>'
insert into #testTable
select
r.value('@name', 'varchar(50)'),
r.value('@designation', 'varchar(50)')
from @xmldata.nodes('/Employees/Employee') t(r)
使用此方法时,我需要在手动使用value方法时预先指定列名。
我想要的是一种运行此查询的方法,而不在value()方法中显式指定列,并获取一个表,其中XML属性作为列名称,值作为数据。如果它完成了工作,我愿意将其转换为类型化XML。假设xml列始终符合我现有的表。
提前致谢。