【发布时间】:2011-07-11 17:50:07
【问题描述】:
我在表中有一个 XML 列,它是由模式定义的。我正在尝试通过使用 Insert into tbl1 Select * from tbl for xml 将值插入到该表中。但由于其中一条记录的架构验证失败,这失败了。但我想插入至少通过验证的记录,我可以稍后捕获其他记录。有人可以帮助我吗?
【问题讨论】:
标签: sql-server validation insert xsd
我在表中有一个 XML 列,它是由模式定义的。我正在尝试通过使用 Insert into tbl1 Select * from tbl for xml 将值插入到该表中。但由于其中一条记录的架构验证失败,这失败了。但我想插入至少通过验证的记录,我可以稍后捕获其他记录。有人可以帮助我吗?
【问题讨论】:
标签: sql-server validation insert xsd
SQL 服务器验证所有数据集,而不是单行。如果您想使用 SQL 服务器工具逐行验证,方法是:
SQLCLR(最快)link
SSIS(易于创建)- 使用循环 FOREACH 您尝试将行插入表中。所有失败的行都重定向到另一个表。
TSQL TRY/CATCH 块 - 将 xml 从单行插入到模式验证变量。最慢的一个。
【讨论】: