Monday, 13 April 2015

xml insert in sql

ALTER procedure [dbo].[sp_Mst_ReqField] --'I','<ROOT><SUBROOT><G_Id>5</G_Id><Cat_Id>171</Cat_Id><Vc_FieldName>Ad_Title</Vc_FieldName></SUBROOT></ROOT>'        
@Action VARCHAR(3)=NULL,        
@XmlValues varchar(max)
--@message varchar(100)=NULL output          
as          
  SET NOCOUNT ON            
declare @status int,@id int,@XmlData xml ,@XmlValue varchar(max)        

set @XmlValue=@XmlValues
SET @XmlData = CONVERT(XML,@XmlValue, 1);
select  @XmlData        
begin tran Mst_ReqField_tran          
set @status=0
         
if(@Action='I')          
 begin          


       
 DECLARE @TEMPReqMast AS TABLE      
(      
G_Id int,Cat_Id int,Vc_FieldName varchar(100) )      
INSERT INTO @TEMPReqMast                
SELECT      
 y.mytable1.value('G_Id[1]','int'),        
 y.mytable1.value('Cat_Id[1]','int'),                
 y.mytable1.value('Vc_FieldName[1]','varchar(100)')              
from @XmlData.nodes('//ROOT/SUBROOT') AS y (mytable1)
       
insert into Mst_ReqField(G_Id,Cat_Id,Vc_FieldName)    
select G_Id,Cat_Id,Vc_FieldName  from @TEMPReqMast
 if(@@error<>0)          
  set @status=100          
 --if(@@error=0)          
 -- --Set @message='Banner details saved successfully'          
 --else          
 -- Set @message='Banner creation failure due to' + @status          
         
end    
       
if(@status<>0)              
begin              
 rollback tran Mst_ReqField_tran              
end              
else              
begin            
    commit Tran Mst_ReqField_tran            
end              

No comments:

Post a Comment