--示例--处理的存储过程 create proc pmod @xml text as DECLARE @idoc int EXEC sp_xml_preparedocument @idoc OUTPUT, @xml
SELECT * FROM OPENXML (@idoc, '/ModiTable/Row/Col',1) with( emp varchar(10) '../@emp', ele int '../@ele', [index] varchar(10) '@index', value decimal(20,2) '.' )
create proc pmod
@xml text
as
DECLARE @idoc int
EXEC sp_xml_preparedocument @idoc OUTPUT, @xml
SELECT * FROM OPENXML (@idoc, '/ModiTable/Row/Col',1)
with(
emp varchar(10) '../@emp',
ele int '../@ele',
[index] varchar(10) '@index',
value decimal(20,2) '.'
)
EXEC sp_xml_removedocument @idoc
go--调用存储过程
exec pmod '
<ModiTable>
<Row emp = "chjl" ele ="4">
<Col index="1">222.00</Col>
<Col index="2">3.00</Col>
<Col index="3">0.00</Col>
<Col index="4">0.00</Col>
<Col index="5">0.00</Col>
</Row>
<Row emp = "chzg" ele ="4">
<Col index="1">2.66</Col>
<Col index="2">234.00</Col>
<Col index="3">5.00</Col>
<Col index="4">6.00</Col>
<Col index="5">4.00</Col>
</Row>
</ModiTable>
'
go--删除测试
drop proc pmod/*--测试结果emp ele index value
---------- ----------- ---------- ----------------------
chjl 4 1 222.00
chjl 4 2 3.00
chjl 4 3 .00
chjl 4 4 .00
chjl 4 5 .00
chzg 4 1 2.66
chzg 4 2 234.00
chzg 4 3 5.00
chzg 4 4 6.00
chzg 4 5 4.00(所影响的行数为 10 行)--*/