oracle删除表中所有的数据
示例一:delete from emp;
实例二:truncate table emp;
当使用delete删除时,虽然删除了表中的所有数据,但是没有释放表所占的空间,如果用户确定要删除表中所有数据,使用实例二语句速度更快。delete语句可以回退,但truncate语句操作不能回退,执行的时候要多加注意这一点。
相关文档:
今天删除的表空间包含物化视图报错,ORA-23515: 实体化视图和/或它们的索引存在于表空间中
看来是需要删除物化视图,执行删除操作,因为数据太大了,半天也没弄完,取消了,上网查另外一种方法,删除用户,指定cascade 参数,这样就可以了
我试了一下感觉用
drop user user_name cascade;
删除的还是挺快的,比删除物 ......
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
SQL_TEXT
from V$SQLAREA
WHERE EXECUTIONS>0
AND BUFFER_GETS > 0
AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS ......
在一般Select语句中我们通过Order by ...Asc/Desc来进行排序。但是这种排序方式在输出时,不包含排序后的序号信息。
现在介绍一下Oracle中可以用于排序输出的方法。
1. RANK ( ) OVER ( [query_partition_clause] order_by_clause )
RANK ( ) OVER ( [query_p ......
create or replace procedure getok
as
cursor mycur is select ids,name from aaa where name not in (select names from ok);
vempno aaa.ids%type;
vename aaa.name%type;
begin
open mycur;
loop
fetch mycur into vempno,vename;
exit when mycur%notfound;
if mycur%found then
insert ......
两个子查询进行集合运行, 条件就是两个查询的字段个数一致,类型一致,字段名可以不同。
SQL> select * from ta;
ID NAME
---------- --------------------
1 gorey
&nb ......