首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

xml类型转成@table可以吗?该怎么处理

2012-01-19 
xml类型转成@table可以吗?declare@mydocxmlset@mydocperportyvalue name cityID 1 value 嘎嘎

xml类型转成@table可以吗?
declare   @mydoc   xml
set   @mydoc= '
<perporty   value= "name ">
    <city   ID= "1 "   value= "嘎嘎 "/>
    <city   ID= "2 "   value= "呵呵 "/>
</perporty> '
select   @mydoc
希望把@mydoc转成@table结构的
比如
declare   @table   table
(
    id   int   identity(1,1)   not   null,
    name   nvarchar(30)   not   null
)
insert   into   @table   select   ..........from   @mydoc

[解决办法]
declare @mydoc xml
set @mydoc= '
<perporty value= "name ">
<city ID= "1 " value= "嘎嘎 "/>
<city ID= "2 " value= "呵呵 "/>
</perporty> '
select @mydoc

declare @table table
(
id int identity(1,1) not null,
name nvarchar(30) not null
)
DECLARE @idoc int
EXEC sp_xml_preparedocument @idoc OUTPUT, @mydoc
insert into @table (name)
SELECT value
FROM OPENXML (@idoc, '/perporty/city ',1)
WITH (ID varchar(10),
value nvarchar(20))

select * from @table

热点排行