我试图添加一个新行(行),但它修改了sql xml中的现有行

时间:2015-11-23 12:43:55

标签: sql xml sql-server-2012

我正在尝试添加新行(行),但它会修改现有的行

DECLARE @parXML         XML
       ,@subunitate     CHAR(9)
       ,@tip            CHAR(2)
       ,@numar          CHAR(8)
       ,@pvaluta        DECIMAL(9 ,2)
       ,@cod            CHAR(9)
       ,@cantitate      INT
       ,@subtip         CHAR(2)


SELECT @subunitate = @parXML.value('(/row/@subunitate)[1]' ,'varchar(9)')
      ,@tip       = @parXML.value('(/row/@tip)[1]' ,'char(2)')
      ,@numar     = @parXML.value('(/row/@numar)[1]' ,'char(8)')
      ,@cod       = 'TVA 473.04'



IF @parXML.value('(/row/row/@cod)[1]' ,'char(9)') IS NOT NULL
    SET @parXML.modify(
            'replace value of (/row/row/@cod)[1] with sql:variable("@cod")'
        )
ELSE
    SET @parXML.modify (
            'insert attribute cod{sql:variable("@cod")} into (/row/row)[1]'
        )

0 个答案:

没有答案