• oracle--批量删除部分表,将某一列拼接成字符串


    1、查询要批量删除的表

    SELECT *  FROM USER_TABLES
    SELECT 'DROP '||'TABLE ' || TABLE_NAME ||' ;' ,1 FROM USER_TABLES WHERE TABLE_NAME LIKE 'T_DIM%';

     

    2、创建临时表

    CREATE  TABLE tab_xn_ddd (names varchar2(100),idd number(2));
    

      

    3、将要删除的表结果插入到数据库中

    insert into hos_tab_xn_ddd  
    SELECT 'DROP '||'TABLE ' || TABLE_NAME ||' ;' ,1 FROM USER_TABLES WHERE TABLE_NAME LIKE 'T_DIM%';
    

      

    4、将结果拼接成字符串

    select idd, replace(to_char(wm_concat(names)),',','') from hos_tab_xn_ddd group by idd;
    

      

    5、删除临时表

    DROP table tab_xn_ddd ;
    

      

    问题:1、结果没有使用换行

    制表符 chr(9)
    换行符 chr(10)
    回车符 chr(13)
    

      

    select ' update ' || table_name ||
           ' set VALID_STATE =''0A'';'||chr(13)||' commit;'
      from user_tables
    

      

    2、如果不重要可以直接删除表空间,重新创建

      没有英汉互译结果
      请尝试网页搜索

  • 相关阅读:
    c# 门禁随笔
    DataTable到Access
    C#文件上传
    C#操作文件
    JavaScript 全局封装
    jsavascript 目录的操作(摘抄)
    12-STM32 ADC原理
    11-STM32 高级定时器TIM1/8
    10-STM32 基本定时器TIM
    9-STM32 WWDG窗口看门狗
  • 原文地址:https://www.cnblogs.com/eadela/p/11531661.html
Copyright © 2020-2023  润新知