请检查该样品SP
你需要为每行同样喜欢下面的格式创建XML和给SQL ..
一些修改,按照您的要求,可以解决你的问题..
/**************************************************************
EXEC wa_TempInsert '<SampleXML>
<tblRow><Id>3</Id><Code>11</Code><Description>Leptospiral infect NEC</Description></tblRow>
<tblRow><Id>3</Id><Code>22</Code><Description>Leptospiral infect NEC</Description></tblRow>
<tblRow><Id>3</Id><Code>33</Code><Description>Leptospiral infect NEC</Description></tblRow>
<tblRow><Id>3</Id><Code>44</Code><Description>Leptospiral infect NEC</Description></tblRow>
<tblRow><Id>3</Id><Code>55</Code><Description>Leptospiral infect NEC</Description></tblRow>
</SampleXML>'
*/
CREATE PROCEDURE wa_TempInsert
(
@XML NVARCHAR(MAX)
)
AS
SET NOCOUNT ON
BEGIN
DECLARE @Id INT
DECLARE @MyXML XML
SET @MyXML = @XML
IF OBJECT_ID('tempdb..#TempXMLTable') IS NOT NULL
DROP TABLE #TempICD
SELECT * INTO #TempICD
FROM (
SELECT
Parse.value('(Id)[1]', 'INT') AS 'Id',
Parse.value('(Code)[1]', 'Varchar(100)') AS 'Code',
Parse.value('(Description)[1]', 'varchar(1000)') AS 'Description'
FROM
@MyXML.nodes('/SampleXML/tblRow') AS TempData(Parse)
) AS tbl
INSERT INTO Table (Code,[Description],Id)
SELECT DISTINCT Code,[Description],Id FROM #TempXMLTable
END
END
是100条记录只在一张桌子上插入..每次..? – 2013-05-07 12:14:11
是的,但有时每个插入超过100个 – 2013-05-07 12:20:49
没有深入的存储过程或表结构,我觉得这是非常严重的结构。 40插入查询,它真的很糟糕。向创造它的人致敬。对不起,如果是你。 – 2013-05-07 12:50:19