--当你误删除一个表时你可以闪回
flashback table tmp_system to before drop
--当你想更新一个字段值的指定位数时,可以使用切割和拼接
update reshn.CODE_RES a
set a.code_name=874482||substr(a.code_name,7) //从第七个字符开始截取,截取部分是不变的,需要更新的值放前面用'||'拼接.
where a.code_id in(select b.code_id from tmp_WLH b) ;
--当你想替换表中某个字段值时,可以用replace
update reshn.spc_region a
set a.region_name=replace(a.region_name,'旧值','新值');
--当你想查询一堆可能实时变化的数据,你可以加并行语句,就不会报错了,注意这可不是注释/*.....*/
select /*+ parallel(a,4)(b,4)*/vw.region_name "区域" from reshn.spc_region;
--当你想查询的数据比较大比较多时,建议使用临时表存储起来,而不是直接查询出来,你可以使用复制数据
create table tmp_bkolt tablespace indx_sub as //复制数据
select /*+ parallel(a,4)(b,4)*/vw.region_name "区域",
b.eqp_no "设备编码",
b.eqp_name "设备名称",
a.port_no "端口编码",
a.port_name "端口名称"
from reshn.rme_port a...
--当你想排除一个表中的重复数据时,你可以使用group by...having
select a.*,rowid from TMP_BKPWR a where eqp_name in (
select eqp_name from TMP_BKPWR group by eqp_name having count(*)>1
);
--当你想查看你的查询语句是不是全表查询时,花费多少时间的情况下
你可以选中你的查询语句,按下F5键,就能看到了。