Oracle删除用户的表
在使用PL/SQL的dmp文件导入数据前,需要先将相同的表删掉,然后才能导入。以前的方法是手动在左侧栏选中,删除的。
PL/SQL使用dmp文件导入数据实验:
有两个用户,也就是相对应于sql server的两个数据库,1和2
数据模拟:
1比2多的 20100000年度记录
1比2少的 20101111新增记录
1和2不一样的
1中的20100001记录的周期名 为 2010年一季度
2中的20100001记录的周期名 为 20100001
使用2的dmp文件导入1中,在1中的结果:
1、20100000年度记录 存在
2、20101111新增记录 存在
3、20100001记录的周期名 为 2010年一季度 (使用原有的值)
下面是使用SQL进行删除
1、查询这个用户下有多少张表
1、select count(*) from user_tables --查看表的个数
2、select * from user_tables --查看表的详细信息
3、SELECT at.TABLE_NAME
FROM ALL_TABLES at
WHERE upper(at.OWNER)='GRAY'
2、删除所有的表
1、使用循环
Begin
for t in (select tt.table_name from ALL_TABLES tt where upper(tt.OWNER)='JACK')
loop
execute immediate 'drop table ' || t.table_name;
end loop;
end;
1.execute immediate 为快速的解释执行
2.循环结构:
for i in (循环体)
loop
end loop;
2、使用游标
游标不能用于ALL_TABLES 表