1、oracle分页
1)select * from (select a.*, rownum rn from (select * from tabel order by XX) a where rownum<5) where rn>2;
注:在oracle中用rownum来记录数据的顺序,这个语句的意思是,按某个字段排序并查找出表中所有数据,根据数据的顺
序,先找出数据排序号小于5的数据,然后再找到大于2的数据。
2)select * from emp where rowid in (select rid from (select rownum rn,rid from (select rowid rid from table order by XX) a
where rownum<=5) where rn>=2)
注:这里是根据rowid来查找数据,由于这个语句子查询查找的字段很少,故有人认为他的速度比较快。但这里有一个小问
题,就是当这个语 句和上面的语句按相同列排序,两条sql查出的数据并不相同,具体什么原因我也不清楚,请知道的
大神告知一下。
2、delete和truncate的区别
delete是DML(数据操作语言),该操作会放在rollback segement中,提交了事物才生效,如果用相应的trigger,执行时将
会被 触发。truncate是DDL(数据定义语言),该操作执行时立即生效,原数据并没放在rollback segement中,没有回滚一说,
也不 触发trigger。
注:当批量删除数据时,建议用truncate,速度较快,但也存在一定的安全隐患
3、oracel表解锁
1)找到被锁定表的session

本文介绍了 Oracle 数据库中的实用 SQL 技巧,包括分页查询、DELETE 和 TRUNCATE 的区别、表解锁方法、表空间管理和字段搜索等。通过这些技巧,可以更高效地管理和查询数据库。

3869

被折叠的 条评论
为什么被折叠?



