CREATE proc [dbo].[BCKUP_usp_AddUserProducts]
@ProductXml xml
as
insert into dbo.Vendor_Product
(
VendorProductGUID
,ProductGUID
,ProductName
,MRP
,SellingPrice
,Description
,UnitValue
,UnitId
,BarCode
,VendorId
,AddedDate
,ProductImage
,Active
)
SELECT
Product.value('(VendorProductGUID)[1]', 'varchar(50)') AS 'VendorProductGUID',
Product.value('(ProductGUID)[1]', 'uniqueidentifier') AS 'ProductGUID',
Product.value('(ProductName)[1]', 'varchar(50)') AS 'ProductName',
Product.value('(MRP)[1]', 'money') AS 'MRP',
Product.value('(SellingPrice)[1]', 'money') AS 'SellingPrice',
Product.value('(Description)[1]', 'varchar(max)') AS 'Description',
Product.value('(UnitValue)[1]', 'float') AS 'UnitValue',
Product.value('(UnitId)[1]', 'tinyint') AS 'UnitId',
Product.value('(BarCode)[1]', 'varchar(50)') AS 'BarCode',
Product.value('(VendorId)[1]', 'uniqueidentifier') AS 'VendorId',
Product.value('(AddedDate)[1]', 'DateTime') AS 'AddedDate',
Product.value('(ProductImage)[1]', 'int') AS 'ProductImage',
Product.value('(Active)[1]', 'bit') AS 'Active'
FROM
@ProductXml.nodes('/ArrayOfVendorProduct/VendorProduct') AS AOC(Product)
/* Following statement is for removing entries from other table , not relevant*/
delete from Vendor_Product_Stagging where VendorProductGUID in
(
SELECT
Product.value('(VendorProductGUID)[1]', 'varchar(50)') AS 'VendorProductGUID'
FROM @ProductXml.nodes('/ArrayOfVendorProduct/VendorProduct') AS AOC(Product)
)
@ProductXml xml
as
insert into dbo.Vendor_Product
(
VendorProductGUID
,ProductGUID
,ProductName
,MRP
,SellingPrice
,Description
,UnitValue
,UnitId
,BarCode
,VendorId
,AddedDate
,ProductImage
,Active
)
SELECT
Product.value('(VendorProductGUID)[1]', 'varchar(50)') AS 'VendorProductGUID',
Product.value('(ProductGUID)[1]', 'uniqueidentifier') AS 'ProductGUID',
Product.value('(ProductName)[1]', 'varchar(50)') AS 'ProductName',
Product.value('(MRP)[1]', 'money') AS 'MRP',
Product.value('(SellingPrice)[1]', 'money') AS 'SellingPrice',
Product.value('(Description)[1]', 'varchar(max)') AS 'Description',
Product.value('(UnitValue)[1]', 'float') AS 'UnitValue',
Product.value('(UnitId)[1]', 'tinyint') AS 'UnitId',
Product.value('(BarCode)[1]', 'varchar(50)') AS 'BarCode',
Product.value('(VendorId)[1]', 'uniqueidentifier') AS 'VendorId',
Product.value('(AddedDate)[1]', 'DateTime') AS 'AddedDate',
Product.value('(ProductImage)[1]', 'int') AS 'ProductImage',
Product.value('(Active)[1]', 'bit') AS 'Active'
FROM
@ProductXml.nodes('/ArrayOfVendorProduct/VendorProduct') AS AOC(Product)
/* Following statement is for removing entries from other table , not relevant*/
delete from Vendor_Product_Stagging where VendorProductGUID in
(
SELECT
Product.value('(VendorProductGUID)[1]', 'varchar(50)') AS 'VendorProductGUID'
FROM @ProductXml.nodes('/ArrayOfVendorProduct/VendorProduct') AS AOC(Product)
)
No comments:
Post a Comment