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

  • 相关阅读:
    Quartz_理解2
    Quartz_理解1
    Java监控常用工具 .
    DB2函数大全
    cvs上传复制项目
    PLSQL DEVELOPER 使用的一些技巧【转】
    webservice_模拟报文测试
    Myeclipse插件将wsdl生成java客户端代码
    利用 UltraEdit 重新排版 XML 结构数据
    uoj164. 【清华集训2015】V 统计
  • 原文地址:https://www.cnblogs.com/Koy/p/5615365.html
Copyright © 2011-2022 走看看