oracle删除指定用户下的表与Sequence

-- 以用户SMTJ2012为例
-- 删除所有表
	declare owner_name varchar(20);
	cursor cur1 is select table_name from dba_tables where owner=owner_name;
	begin
		owner_name := 'SMTJ2012'; 
		for cur2 in cur1 loop
			execute immediate 'drop table '||owner_name||'.'||cur2.table_name;
		end loop;
	end;
-- 如果 dba_tables 没有权限的话可以使用 user_tables,上述cur1可以改成
-- select table_name from user_tables;
-- user_tables为owner为本用户的表,注意与dba_tables的区别

-- 删除所有SEQ	
	declare owner_name varchar(20);
	cursor cur1 is select sequence_name from user_sequences;
	begin
		owner_name := 'SMTJ2012'; 
		for cur2 in cur1 loop
			execute immediate 'drop sequence '||owner_name||'.'||cur2.sequence_name;
		end loop;
	end;

运行效果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值