--批量清空当前用户所有表的所有数据 declarev_sql varchar2(2000) ;CURSOR cur is select table_name from user_tables order by table_name ;beginfor rows in curloopv_sql := 'TRUNCATE TABLE ' || rows.table_name ;--dbms_output.put_line(v_sql); --可以不用输出execute immediate v_sq
先吐槽一下,由于公司要为新客户部署一个全新的系统,然而公司并没有空库,所以只能把正在线上运行的数据库给备份,然后清空相关数据 下面分享一下我在做清空数据库时写的一个批量清空数据表的方法 思路:查询出该库下的所有表 根据表名(系统相关数据表取名都是有规律的)筛选出需要清空的表 下面,上代码 USE [DataBase] GO ) DECLARE @count int DECLARE contact_cursor CURSOR FOR select name from sysobjects wher
清空所有表: CREATE OR REPLACE PROCEDURE CLEAN_TABLES as v_tablename varchar2(256); cursor cur_tablename is select object_name from user_objects where object_type = 'TABLE'; begin open cur_tablename; loop fetch cur_tablename into v_tablename; exit when cur
将XXX替换成数据库名称,然后执行SQL,将执行结果拷贝出来执行就可以TRUNCATE数据库所有表了. select CONCAT('truncate table XXX.',TABLE_NAME,';') FROM information_schema.TABLES WHERE TABLE_SCHEMA='XXXX';