sql解析XML

表:

create table bank
(
 bankid int IDENTITY(1,1) primary key,
 bankname nvarchar(50)
)

存储过程:

ALTER proc [dbo].[bankAdd]
@Params    ntext
as
declare
@hDoc    int,
@bankId     int,
@bankName   nvarchar(20)
begin
 -- 得到传入的银行信息
 exec sp_xml_preparedocument @hdoc out, @Params

 select
 @bankId     = [bankid],
 @bankName    = [bankname]
 from openxml(@hDoc, '//Data', 2)
 with
 (
  [bankid]   int,
  [bankname]   nvarchar(20)
 )
 exec sp_xml_removedocument @hDoc

 insert into bank values(@bankName)
end

调用:

exec bankAdd '《Data》《bankname》《![CDATA[银行]]》《/bankname》《/Data》'

你可能感兴趣的:(sql,xml)