zoukankan      html  css  js  c++  java
  • text与ntext字段的复制和合并处理示例.sql

    --1. 把一个表的text数据复制到另一个表。
    --测试数据
    CREATE TABLE #a(id int,a text)
    INSERT #a SELECT 1,'AA'
    UNION ALL SELECT 2,'BB'

    CREATE TABLE #b(id int,b text)
    INSERT #b SELECT 1,'XX'

    --用#a.a替换#b.b的数据,条件是#a.id=#b.id
    UPDATE b SET b=a.a
    FROM #a a,#b b
    WHERE a.id=b.id

    --把#a的数据复制到#b,条件是#a.id不在#b.id中
    INSERT #b(id,b) SELECT id,a FROM #a a
    WHERE NOT EXISTS(SELECT * FROM #b WHERE id=a.id)

    --显示处理结果
    SELECT * FROM #b
    DROP TABLE #a,#b
    /*--结果
    id          b
    ---------------- -------
    1           AA
    2           BB
    --*/
    GO


    /*===============================================*/


    --2. 将tb表中的col1及col2列中的数据合并到col列中,并且在合并的数据前后加上列标识。
    --测试数据
    CREATE TABLE tb(col text,col1 text,col2 text)
    INSERT tb SELECT 'a' ,NULL,'c2'
    UNION ALL SELECT NULL,'b2','c2'
    UNION ALL SELECT ''  ,'b3',NULL
    GO

    --更新处理
    DECLARE @p binary(16),@p1 binary(16),@p2 binary(16)
    DECLARE tb CURSOR LOCAL
    FOR
    SELECT TEXTPTR(col),TEXTPTR(col1),TEXTPTR(col2) FROM tb
    OPEN tb
    FETCH tb INTO @p,@p1,@p2
    WHILE @@FETCH_STATUS=0
    BEGIN
        IF TEXTVALID('tb.col',@p)=0
        BEGIN
            UPDATE tb SET col='' WHERE CURRENT OF tb
            UPDATE tb SET @p=TEXTPTR(col) WHERE CURRENT OF tb
        END
        IF TEXTVALID('tb.col1',@p1)=1
        BEGIN
            UPDATETEXT tb.col @p NULL 0 '<col1>'
            UPDATETEXT tb.col @p NULL 0 tb.col1 @p1
            UPDATETEXT tb.col @p NULL 0 '</col1>'
        END
        IF TEXTVALID('tb.col2',@p2)=1
        BEGIN
            UPDATETEXT tb.col @p NULL 0 '<col2>'
            UPDATETEXT tb.col @p NULL 0 tb.col2 @p2
            UPDATETEXT tb.col @p NULL 0 '</col2>'
        END
        FETCH tb INTO @p,@p1,@p2
    END
    CLOSE tb
    DEALLOCATE tb
    GO

    --显示结果
    SELECT * FROM tb
    DROP TABLE tb
    /*--结果
    col                              col1            col2
    -------------------------------------- ----------------------- ----------------------
    a<col2>c2</col2>                 NULL           c2
    <col1>b2</col1><col2>c2</col2>    b2              c2
    <col1>b3</col1>                  b3              NULL
    --*/
  • 相关阅读:
    Spring事务配置的五种方式(转)
    struts.properties配置详解(转)
    Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法(转)
    php的ob函数实现页面静态化
    冒泡排序法原理讲解及PHP代码示例
    Linux Centos下编译安装Redis
    PHP判断是手机端还是PC端
    windows 下 Symfony的下载与安装
    JS在线生成二维码
    关于微信分享到朋友圈(Thinkphp-tp3.2框架下实现)
  • 原文地址:https://www.cnblogs.com/shihao/p/2508594.html
Copyright © 2011-2022 走看看