【发布时间】:2010-05-20 03:42:08
【问题描述】:
我一直在学习这个教程
http://www.codeproject.com/KB/linq/BulkOperations_LinqToSQL.aspx
他们制作了这样的 SP
CREATE PROCEDURE [dbo].[spTEST_InsertXMLTEST_TEST](@UpdatedProdData nText)
AS
DECLARE @hDoc int
exec sp_xml_preparedocument @hDoc OUTPUT,@UpdatedProdData
INSERT INTO TBL_TEST_TEST(NAME)
SELECT XMLProdTable.NAME
FROM OPENXML(@hDoc, 'ArrayOfTBL_TEST_TEST/TBL_TEST_TEST', 2)
WITH (
ID Int,
NAME varchar(100)
) XMLProdTable
EXEC sp_xml_removedocument @hDoc
现在我的要求要求我一个接一个地批量插入和批量更新。所以首先我想知道我可以将它们合并到一个SP中吗?我不确定它如何与这个 OPENXML 一起工作,但我认为它只是确保 XPath 是正确的。
接下来,当它运行这个组合的 SP 时会发生什么并且出现问题。它会回滚所有记录还是停止并插入在此事件之前发生的记录?
【问题讨论】:
标签: sql-server sql-server-2005 linq-to-sql stored-procedures openxml