首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >oracle--批量删除部分表,将某一列拼接成字符串

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

作者头像
eadela
发布于 2019-09-29 16:14:34
发布于 2019-09-29 16:14:34
1.7K0
举报
文章被收录于专栏:eadelaeadela

1、查询要批量删除的表

代码语言:javascript
复制
SELECT *  FROM USER_TABLES
代码语言:javascript
复制
SELECT 'DROP '||'TABLE ' || TABLE_NAME ||' ;' ,1 FROM USER_TABLES WHERE TABLE_NAME LIKE 'T_DIM%';

2、创建临时表

代码语言:javascript
复制
CREATE  TABLE tab_xn_ddd (names varchar2(100),idd number(2));

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

代码语言:javascript
复制
insert into hos_tab_xn_ddd  
SELECT 'DROP '||'TABLE ' || TABLE_NAME ||' ;' ,1 FROM USER_TABLES WHERE TABLE_NAME LIKE 'T_DIM%';

4、将结果拼接成字符串

代码语言:javascript
复制
select idd, replace(to_char(wm_concat(names)),',','') from hos_tab_xn_ddd group by idd;

5、删除临时表

代码语言:javascript
复制
DROP table tab_xn_ddd ;

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

代码语言:javascript
复制
制表符 chr(9)
换行符 chr(10)
回车符 chr(13)
代码语言:javascript
复制
select ' update ' || table_name ||
       ' set VALID_STATE =''0A'';'||chr(13)||' commit;'
  from user_tables

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

tab_xn_ddd 详细X

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档