【发布时间】:2014-06-17 17:16:07
【问题描述】:
我已将一个包含 258 个元素的 xsd 导入我的 SQL Server 2012 实例。最终 xml 中必须存在所有 258 个元素。我遇到的问题是其中 246 个将包含在 xsd 中标识的默认值,我不知道如何构造我的 SQL 以使用默认值填充 xml。
以下是我创建的示例,它使用更小的 xsd 说明了我的问题:
DROP XML SCHEMA COLLECTION TestSchema
GO
CREATE XML SCHEMA COLLECTION TestSchema AS
'<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="document">
<complexType>
<sequence>
<element minOccurs="0" name="field1" type="string" default="1" />
<element name="field2" type="int" />
</sequence>
</complexType>
</element>
</schema>'
GO
declare @xml xml(TestSchema) = null
declare @reccount table(recordcount int not null)
insert into @reccount select 32
set @xml =
(
select
recordcount as field2
from
@reccount
for xml
PATH('document')
)
select @xml
@xml 的值为:
<document>
<field2>32</field2>
</document>
没想到
<document>
<field1>1</field1>
<field2>32</field2>
</document>
知道如何生成 field1 的默认值吗?
提前致谢。
【问题讨论】:
标签: sql-server xml xsd