XML String to table
exec Usp_UpdateRatingPMasterEmployees
@EngDetails=N'<Engineer><Row><TCIAssessmentResultId>188</TCIAssessmentResultId><UserId></UserId><ActivityId>12</ActivityId><Rating>1</Rating><AssessmentMode>SA</AssessmentMode></Row>
<Row><TCIAssessmentResultId>189</TCIAssessmentResultId><UserId></UserId><ActivityId>13</ActivityId><Rating>1</Rating><AssessmentMode>SA</AssessmentMode></Row></Engineer>'
CREATE TABLE #TEMP (TCIAssessmentResultId VARCHAR(25), UserId VARCHAR(50), ActivityId VARCHAR(25), Rating VARCHAR(25), AssessmentMode VARCHAR(100))
IF @EngDetails <> ''
BEGIN
DECLARE @hdoc INT
EXEC sp_xml_preparedocument @hdoc OUTPUT, @EngDetails
INSERT INTO #TEMP
SELECT *
FROM OPENXML(@hdoc, '/Engineer/Row', 2) WITH (TCIAssessmentResultId VARCHAR(25), UserId VARCHAR(50), ActivityId VARCHAR(25), Rating VARCHAR(25), AssessmentMode VARCHAR(100))
EXEC sp_xml_removedocument @hdoc
END
-----------------------------------------------------------------------------------------
DECLARE @xmlPortfolio VARCHAR(max) = '<Root><Row><PortfolioId>1</PortfolioId></Row><Row><PortfolioId>2</PortfolioId></Row></Root>'
DECLARE @tblPortfolio TABLE (PortfolioId INT)
IF @xmlPortfolio <> ''
BEGIN
DECLARE @hdoc INT
EXEC sp_xml_preparedocument @hdoc OUTPUT, @xmlPortfolio
INSERT INTO @tblPortfolio
SELECT *
FROM OPENXML(@hdoc, '/Root/Row', 2) WITH (PortfolioId INT)
EXEC sp_xml_removedocument @hdoc
SELECT *
FROM @tblPortfolio
END