如何在SQL中使用openxml批量插入表时避免重复记录? [英] How to avoid duplicates records while bulk inserting in to table using openxml in SQL?

查看:109
本文介绍了如何在SQL中使用openxml批量插入表时避免重复记录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望在SQL中批量插入表时避免重复记录。我传递XML作为输入参数并使用OpenXml插入



我尝试过:



I want to avoid duplicates records while bulk inserting in to Table in SQL. I am passing XML as input parameter and inserting using OpenXml

What I have tried:

EXEC sp_xml_preparedocument @docHandle OUTPUT, @ip_XML                 
BEGIN TRY               
BEGIN TRAN                     
SET @op_error_code = 0;              

IF(@ip_Status ='I')            
BEGIN            

	INSERT INTO ACH_OUTWARD_Files                
	(   
	            
	FileName                 
	, FileType                 
	, Status                 
	, CreatedDate              
	   
	)           
	 
	SELECT indx.FileName                 
	, '102_OUTWARD_ACH'                 
	,  indx.Mode              
	, GETDATE()                 
 
	FROM OPENXML(@docHandle, '/WPS/MDL_ACH_Outward_Details',2)WITH                                  
	(   
	FileName varchar(100)  
	,FileType varchar(50)                 
	, Mode  varchar(1)    
	, CreatedDate DateTime             
	) 

EXEC sp_xml_removedocument @docHandle   

END

推荐答案

为防止插入XML中存在的重复记录,请更改 SELECT SELECT DISTINCT
To prevent inserts of duplicate records that exist in the XML change your SELECT to SELECT DISTINCT


这篇关于如何在SQL中使用openxml批量插入表时避免重复记录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆