I am creating a procedure. I have an xml file from which i want to update data in my tables. I am creating a procedure to updata data in table. This is my procedure Hi,I am creating a procedure. I have an xml file from which i want to update data in my tables. I am creating a procedure to updata data in table. This is my procedure
CREATE PROCEDURE [dbo].[UpdateAssetsAvailability]
@assetAvailxml xml
BEGIN
SET NOCOUNT ON;
WITH AssetAvail AS
(
SELECT
uniqueKey.value('AssetId[1]', 'nvarchar(255)') as assetid,
uniqueKey.value('AvailabilityStatus[1]', 'nvarchar(255)') as
availabilityStatus,
uniqueKey.value('SourceSystemCode[1]', 'nvarchar(255)') as sscode
FROM
@assetAvailxml.nodes('/Assets/asset') as Keys(uniqueKey)
)
Update dbo.Asset set Availability=(Select Id from dbo.AssetStatus where
Code=AssetAvail.availabilityStatus)
where AssetId=assetid AND SourceSystem=(Select Id from dbo.SourceSystem
where code=AssetAvail.sscode)
END;
This is my XML File
<?xml version="1.0"?>
<Assets>
<asset>
<AssetId>64_assetid</AssetId>
<AvailabilityStatus>Partial</AvailabilityStatus>
<SourceSystemCode>GE_Cares</SourceSystemCode>
</asset>
<asset>
<AssetId>81_assetid</AssetId>
<AvailabilityStatus>Partial</AvailabilityStatus>
<SourceSystemCode>GE_Cares</SourceSystemCode>
</asset>
<asset>
<AssetId>50_assetid</AssetId>
<AvailabilityStatus>Down</AvailabilityStatus>
<SourceSystemCode>GE_Cares</SourceSystemCode>
</asset>
<asset>
<AssetId>1-21B4-4787</AssetId>
<AvailabilityStatus>Up</AvailabilityStatus>
<SourceSystemCode>SIEBEL</SourceSystemCode>
</asset>
</Assets>
</xml>