企业的网站特点,做网站排版用什么软件,做网站应该注意什么,计算机专业毕业设计做什么好近期接手做的项目#xff0c;发觉数据库中有许多多余的表。究其原因#xff0c;应该是同事贪图方便#xff0c;将过去做过的项目复制粘贴#xff0c;然后修修改改。包括数据库也是克隆过来的#xff0c;然后又没有删除本项目多余的表#xff0c;结果经过几个轮回#xf…近期接手做的项目发觉数据库中有许多多余的表。究其原因应该是同事贪图方便将过去做过的项目复制粘贴然后修修改改。包括数据库也是克隆过来的然后又没有删除本项目多余的表结果经过几个轮回就不知道哪些表需要哪些不需要了。
本来不管它也不会报错问题是表实在太多了密密麻麻想找某个表费时费力也不利于对本项目的理解和把握。咬咬牙我辛苦一点清理一下。
幸而大部分表创建时都加了前缀比较好识别。那么删除时有没有可能按照指定的表名前缀查找出来然后删除呢一言不合问AIAI说可以噌噌噌给了我一段脚本说运行这段脚本就能删除指定前缀的表。不过我想稍为改动一下改为利用脚本生成删除表语句然后再手动执行。我本能地觉得删表可不是开玩笑尽管这是在开发环境也做了备份但还是看看生成的删表语句审核一下然后再手动运行比较稳妥。后来发现幸亏是这么做了因为AI给出的脚本过滤条件有点不靠谱指定前缀的表包括进去了但跟前缀有点像的表也包括进去了如果直接运行的话会将一些无辜的表也删掉殃及无辜。
思路 1、备份数据库 2、写一个脚本生成删除表语句 3、运行删除表语句 1、备份数据库
略过不提
2、写一个脚本生成删除表语句
脚本如下
DECLARE v_sql VARCHAR2(4000); BEGIN FOR rec IN (SELECT table_name FROM user_tables WHERE table_name LIKE ‘JSJC_%’) LOOP v_sql : ‘DROP TABLE ’ || rec.table_name || ’ CASCADE CONSTRAINTS;’; DBMS_OUTPUT.PUT_LINE(v_sql); END LOOP; END; /
注意在PL/SQL Developer中需在test windows下运行这段脚本
3、运行这些删除语句
我认为需要将这些删除语句留底保存以备日后查验。
4、小结
其实现在回想起来在PL/SQL的图形界面上直接删除岂不更快但我又不想这么做也许是怕手一抖删错了吧。