zoukankan      html  css  js  c++  java
  • 動態修改 XML 欄位

    /* -- for test
    DECLARE @content VARCHAR(50)
    DECLARE @folioId VARCHAR(50)
    DECLARE @opinionType VARCHAR(50)
    SET @content = 'this is board'
    SET @folioId = '4BC3141E-BEF5-4528-8B0B-600B7987246D'
    SET @opinionType = 'opinion_board'
    */

    IF(EXISTS(SELECT opinion FROM folio WHERE folio_id = @folioId AND opinion IS null)) BEGIN
    UPDATE folio SET opinion = '<opinion></opinion>' WHERE folio_id = @folioId
    END

    DECLARE @val VARCHAR(50)
    SELECT @val = opinion.value('(/opinion/*[local-name()=sql:variable(''@opinionType'')])[1]', 'nvarchar(max)' ) FROM folio WHERE folio_id = @folioId
    if @val IS NOT NULL BEGIN
    IF @val = '' BEGIN
    UPDATE folio SET opinion.modify('insert text{sql:variable(''@content'')} into (/opinion/*[local-name()=sql:variable(''@opinionType'')])[1]')
    WHERE folio_id = @folioId
    END ELSE BEGIN
    UPDATE folio SET opinion.modify('replace value of (/opinion/*[local-name()=sql:variable(''@opinionType'')]/text())[1] with sql:variable(''@content'')')
    WHERE folio_id = @folioId
    END
    END
    ELSE BEGIN
    UPDATE folio SET opinion.modify('insert
    if(sql:variable(''@opinionType'') = ''opinion_edit'')
    then element opinion_edit { sql:variable(''@content'') }
    else if(sql:variable(''@opinionType'') = ''opinion_dept'')
    then element opinion_dept { sql:variable(''@content'') }
    else if(sql:variable(''@opinionType'') = ''opinion_board'')
    then element opinion_board {sql:variable(''@content'')}
    else ()
    into (/opinion)[1]')
    WHERE folio_id = @folioId
    END

  • 相关阅读:
    windows上npm yarn.ps1,因为在此系统上禁止运行脚本
    windows批量启动服务
    Typora极简教程
    Markdown修改字体颜色
    markdown锚点
    R语言报错long vectors not supported yet qap_encode.c 36
    MAC OS 解决R语言locale问题
    Java调用R语言
    MQL4编程—值传递和引用传递
    二分法查找
  • 原文地址:https://www.cnblogs.com/Koy/p/5615365.html
Copyright © 2011-2022 走看看