将xml数据加载到新SQL表的最佳方法

时间:2014-04-02 19:28:58

标签: sql sql-server xml

我在SQL表中有3列的用户信息。其中一列是XML数据类型,其中包含XML格式的用户信息。 XML数据中的列数可能因用户而异。例如,在用户1下,我可以有25个字段,然后用户2可以有100个字段。用户3可以再次更改为50.每个用户的字段都会更改。我需要能够拉出每个用户下的所有字段(列)并写入SQL表XYZ。

将用户A记录写入SQL表XYZ后,用户B将有比A更多的字段(列),这里我需要将这些字段(列)添加到XYZ表,使值为用户A的NULL。

是否有使用T-SQL或SSIS实现此目的的有效方法?

1 个答案:

答案 0 :(得分:0)

我认为您的问题不是Data loading mechanism,而是Data Injection Strategy

我现在能想到的两种策略:

  1. 我建议你为最坏的情况(希望它是可定义的)场景定义一个XSD的XML,然后围绕它设计你的db表。只要用户信息符合XSD,那么您的插入就可以了。

  2. 您可以创建一个表格:Userid | ColumnName | ColumnValue 然后逐行输入数据,这将为您提供很多灵活性来解决方案。然后,您可以始终编写查询以提取所需格式的数据。