zoukankan      html  css  js  c++  java
  • SQL: Cross Apply ,nodes ,xpath 实现扁平查找

    最近搜索项目需要实现下面的逻辑:

    很多个客户端clients 搜索完数据,一xml的形式保存在数据库中RawData{xml1,xml2,....},

    每个xml_i都包含上万条搜索记录,xml_i和xml_j容易出现重复记录,

    这些记录都要保存到清晰数据库CustomerDB中,xml_i也有可能会和CustomerDB中的数据重复

    实现上面功能主要用到的关键技术是 Cross Apply ,nodes ,xpath 

    下面是演示代码

    Insert Country (Name,ISO2Code,ISO3Code)
    select distinct
    co.value('(Name/text())[1]','varchar(100)'),
    co.value('(ISO2Code/text())[1]','varchar(2)'),
    co.value('(ISO3Code/text())[1]','varchar(3)')
    from XMLData cross apply RawXml.nodes('/Countries/Country') as Cou(co)
    go

  • 相关阅读:
    socketserver
    socket进阶
    socket基础
    反射
    subprocess模块
    面向对象高级特性
    面向对象基础
    字典的高级特性
    *号的妙用
    logging模块
  • 原文地址:https://www.cnblogs.com/mjgb/p/2474053.html
Copyright © 2011-2022 走看看