CREATE PROCEDURE qspBulkAddUpdateDeleteXML ( @XMLDoc XML )AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @hdoc INT EXEC sp_xml_preparedocument @hdoc OUTPUT, @XMLDoc INSERT INTO Table ( Field1, Field2, Field3 ) SELECT XMLTableInsert.F1, XMLTableInsert.F2, XMLTableInsert.F3 FROM OPENXML(@hdoc, 'TBDBOQAttachmentDetailsList/TBDBOQAttachmentDetails/Insert') WITH ( F1 INT 'XMLTagForField1', F2 INT 'XMLTagForField2', F3 VARCHAR(250) 'XMLTagForField3' )AS XMLTableInsert UPDATE TBDBOQAttachmentDetails SET AttachmentPath = XMLTableUpdate.AttachmentPath FROM OPENXML(@hdoc, 'TBDBOQAttachmentDetailsList/TBDBOQAttachmentDetails/Update') WITH ( TBDBOQAttachmentDetailsID INT 'TBDBOQAttachmentDetailsID', AttachmentPath VARCHAR(250) 'AttachmentPath' )AS XMLTableUpdate WHERE TBDBOQAttachmentDetails.TBDBOQAttachmentDetailsID = XMLTableUpdate.TBDBOQAttachmentDetailsID DELETE FROM TBDBOQAttachmentDetails WHERE TBDBOQAttachmentDetails.TBDBOQAttachmentDetailsID IN ( SELECT TBDBOQAttachmentDetailsID FROM OPENXML(@hdoc, 'TBDBOQAttachmentDetailsList/TBDBOQAttachmentDetails/Delete') WITH ( TBDBOQAttachmentDetailsID INT 'TBDBOQAttachmentDetailsID' ) ) END
Mainly serves as my backup reference on programming & technology. Plus some random thoughts
- HOME
- PROGRAMMING
- TECHNOLOGIES
- GENERAL
- ABOUT ME
Bulk Insert Update Delete sql stored procs
2010-06-13
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment