将哈希集内容序列化到SQL表

将哈希集内容序列化到SQL表,sql,serialization,openxml,hashset,Sql,Serialization,Openxml,Hashset,我有一个要序列化到SQL Server表的哈希集。当序列化的哈希集看起来像这样时 <InstallerContactIds> <int>153771</int> <int>209572</int> </InstallerContactIds> 但是,我只将第一个id插入表中。在这种情况下是否可以插入所有ID 我使用的是SQL Server 2005您没有指定您使用的SQL版本,但如果您使用的是2005或更新

我有一个要序列化到SQL Server表的哈希集。当序列化的哈希集看起来像这样时

<InstallerContactIds>
   <int>153771</int> 
   <int>209572</int> 
</InstallerContactIds>
但是,我只将第一个id插入表中。在这种情况下是否可以插入所有ID


我使用的是SQL Server 2005

您没有指定您使用的SQL版本,但如果您使用的是2005或更新版本,则可以使用新版本


嗨,亚当,谢谢你的回复。OPENXML方法将ID连接在一起并尝试插入它们,但由于int溢出而失败。我将研究XML数据类型,因为我正在使用2005Col,如果您的数字溢出int,您可以尝试使用bigint数据类型。我使用您发布的示例XML执行查询,修改OPENXML语句以删除“AssessorActionPlan”,因为这不在示例XML中,它返回两个数字都很好。
INSERT INTO dbo.cv_AssessorActionPlanInstallers
SELECT @AssessorActionPlanId, InstallerId
From OPENXML (@XmlDocumentHandle, 'AssessorActionPlan/InstallerContactIds', 2) 
With
(
    InstallerId int 'int'           
)
declare @xml xml
select @xml = '
<InstallerContactIds>
   <int>153771</int> 
   <int>209572</int> 
</InstallerContactIds>'

select
    x.i.value('.', 'int')
from
    @xml.nodes('/InstallerContactIds/int') as x(i)
INSERT INTO dbo.cv_AssessorActionPlanInstallers
SELECT @AssessorActionPlanId, InstallerId
From OPENXML (@XmlDocumentHandle, 'AssessorActionPlan/InstallerContactIds/int', 2) 
With
(
    InstallerId int '.'
)