我正在尝试从 SQL Server (2008) 中的表值函数返回 Open XML 表单中的行。当我使用“for xml explicit”选择结果时,我偶尔会遇到错误,这表明结果的顺序不能保证与我插入 TVF 输出的顺序相同。
所以我的第一个问题是:是这样吗?
如果是这样,我的下一个问题是:有没有办法解决这个问题?到目前为止,我能想到的最好的方法是在 TVF 输出中包含一个 id 列,然后在我调用它时只选择其他列,并按 id 排序。这里的问题是,这意味着我每次都必须指定所有列,而不是只选择 *,这在这种情况下真的很尴尬(特别是因为我有 42 个这些 TVF - 都有不同的列)。
TVF 和 Explicit Open XML 是否不能混合使用(这将是一个真正的耻辱,因为它们似乎非常适合),还是我错过了一些有用的东西?