zoukankan      html  css  js  c++  java
  • SQL 解析XML

    IF EXISTS (SELECT 1 
                      FROM sysobjects 
                      WHERE name='pd_invoice_save'
                      AND type ='P')
       DROP PROC pd_invoice_save
    go
    
    CREATE PROC pd_invoice_save
    (
        @TradeType VARCHAR(16), --10挂号 20门诊 30住院
        @TradeID   VARCHAR(64),
        @XMLValue XML
    )
    
    WITH  ENCRYPTION 
    AS
    DECLARE @ParaTable TABLE 
    (
            binvkind   varchar(200)  ,-- 数值  2  0 varchar(200)  ,--专用发票、2 –普通发票、11 varchar(200)  ,--货运发票、41 varchar(200)  ,--卷票普通发票、51 varchar(200)  ,--电子普通发票 
            binvcode   varchar(200)  ,--字符  10  发票代码 
            binvnr   varchar(200)  ,--数值    发票号码 
            binvdate   varchar(200)  ,--日期    开票日期 
            bmachinenr   varchar(200)  --字符  3  开票机号 
    )
    ;WITH XMLNAMESPACES(DEFAULT 'http://www.XXXXXX.com.cn')          --有命名空间的,在这里带上命名空间
    INSERT INTO @ParaTable
            ( 
               binvkind   ,            --数值  2  0 ,         --专用发票、2 –普通发票、11 ,         --货运发票、41 ,         --卷票普通发票、51 ,         --电子普通发票 
                binvcode   ,            --字符  10  发票代码 
                binvnr   ,              --数值    发票号码 
                binvdate   ,            --日期    开票日期 
                bmachinenr           --字符  3  开票机号 
                       
            )
    SELECT   T.d.value('(binvkind/value/text())[1]','varchar(256)')  AS binvkind,  --节点里面还可以在嵌套节点
              T.d.value('(binvcode/text())[1]','varchar(256)') AS  binvcode,
              T.d.value('(binvnr/text())[1]','varchar(256)') AS binvnr ,
              T.d.value('(binvdate/text())[1]','varchar(256)') AS  binvdate,
              T.d.value('(bmachinenr/text())[1]','varchar(256)') AS bmachinenr 
            
      FROM @XMLValue.nodes('siiscmd/sendbackinv/sendbackinvrecord/sendbackinvrecordhead') AS T(d)
      
    SELECT * FROM @ParaTable
    
    
    
  • 相关阅读:
    Linux安装zookeeper以及部署dubbo-admin
    springboot+layui+mybatis-plus的批量删除(批量修改)
    springboot打包jar与war包
    drf-books系列接口作业和分页器
    drf-过滤排序异常处理封装Response对象
    drf-认证权限频率
    drf-路由组件
    视图组件
    请求和响应
    Serializer和ModelSerializer
  • 原文地址:https://www.cnblogs.com/tanhu/p/8117982.html
Copyright © 2011-2022 走看看