sql 学习笔记

简介: sql server如何将xml格式转换成表DECLARE @ResultXml XML = ' B77674 郑州日产汽车有限公司9999...

sql server如何将xml格式转换成表

DECLARE @ResultXml XML = '<DocumentElement>
    <dt>
        <CustomerCode>B77674</CustomerCode>
        <CustomerName>郑州日产汽车有限公司9999</CustomerName>
        <EnableMark>1</EnableMark>
        <ModifyDate>2017-10-25 06:09:02</ModifyDate>
    </dt>
    <dt>
        <CustomerCode>B776749</CustomerCode>
        <CustomerName>郑州日产汽车有限公司12398</CustomerName>
        <EnableMark>0</EnableMark>
        <ModifyDate>2017-10-25 06:09:03</ModifyDate>
    </dt>
    </DocumentElement>'

SELECT  aw.row.value('CustomerCode[1]', 'VARCHAR(50)') AS CustomerCode ,
        aw.row.value('CustomerName[1]', 'VARCHAR(50)') AS CustomerName ,
        aw.row.value('EnableMark[1]', 'BIT') AS EnableMark ,
        aw.row.value('ModifyDate[1]', 'DATETIME') AS ModifyDate
FROM    @ResultXml.nodes('/DocumentElement/dt') AS aw ( row );

这里写图片描述

MERGE语法的运用

MERGE INTO dbo.Customer AS customer
            --#tmpCustomer 数据源
                    USING 
                        ( SELECT    *
                          FROM      #tmpCustomer
                        ) AS tmp
                    ON customer.CustomerCode = tmp.CustomerCode
                    WHEN MATCHED 
                        THEN UPDATE
                         SET        customer.CustomerName = tmp.CustomerName ,
                                    customer.ModifyDate = tmp.ModifyDate ,
                                    customer.ModifyUserId = @CreateUserId
                    WHEN NOT MATCHED 
                        THEN
                            INSERT  (
                                      CustomerId ,
                                      CustomerCode ,
                                      CustomerName ,
                                      EnabledMark ,
                                      CreateDate ,
                                      CreateUserId ,
                                      OrganizeId
                                    )
                         VALUES     ( NEWID() ,
                                      tmp.CustomerCode ,
                                      tmp.CustomerName ,
                                      tmp.EnableMark ,
                                      tmp.ModifyDate ,
                                      @CreateUserId ,
                                      @OrganizeId
                                    );   
目录
相关文章
|
8天前
|
SQL 数据库管理
第二章:基础查询与排序---SQL学习笔记
第二章:基础查询与排序---SQL学习笔记
60 0
|
9月前
java202304java学习笔记第六十六天-ssm-动态sql-一对一的配置实现1
java202304java学习笔记第六十六天-ssm-动态sql-一对一的配置实现1
43 0
|
9月前
java202304java学习笔记第六十七天-ssm-动态sql-多对多注解开发之1
java202304java学习笔记第六十七天-ssm-动态sql-多对多注解开发之1
39 0
|
8天前
|
SQL OLAP Serverless
第五章:SQL高级处理---SQL学习笔记
第五章:SQL高级处理---SQL学习笔记
49 0
|
8天前
|
SQL 关系型数据库 MySQL
第四章:集合运算---SQL学习笔记
第四章:集合运算---SQL学习笔记
63 0
|
8天前
|
SQL 关系型数据库 数据库
第三章:复杂一点的查询--SQL学习笔记
第三章:复杂一点的查询--SQL学习笔记
70 0
|
8天前
|
SQL 关系型数据库 MySQL
第一章:初识数据库---SQL学习笔记
第一章:初识数据库---SQL学习笔记
68 0
|
8天前
|
SQL 关系型数据库 MySQL
MySQL8.0安装(win10) ---SQL学习笔记
MySQL8.0安装(win10) ---SQL学习笔记
47 0
|
9月前
java202304java学习笔记第六十六天-ssm-mybatis中dao层实现-动态sql-foreach之2
java202304java学习笔记第六十六天-ssm-mybatis中dao层实现-动态sql-foreach之2
35 0
|
9月前
java202304java学习笔记第六十六天-ssm-mybatis中dao层实现-动态sql-if之1
java202304java学习笔记第六十六天-ssm-mybatis中dao层实现-动态sql-if之1
25 0