1:导入数据
imp80 system/manager@orcl file=D:/TEMP/dbfile1.dmp full=n fromuser=yh1 touser=yh2;
2:多表更新
update table1 a set a.column1=(select b.column1 from table2 b
where a.column2=b.2column2)
where a.column3 is not null;
3:日期的更新
update YD_DAYTRNHEAD set jyrq=to_date('20041206'||to_char(jyrq,'HH24:Mi:SS'),'yyyymmdd hh24:mi:ss'),JYBH=20+JYBH where to_char(JYRQ,'YYYY-MM-DD')='2003-01-01';
4:控制加强
在存储过程里要注意SELECT语句的取值问题,要防止参数未设置
S_SM := SUBSTR (KMK.KMBM, 1, 3) || '%';
BEGIN
--取得科目的转基金科目
SELECT KM INTO S_KMBM_TEMP
FROM ZW_KMSZ
WHERE FL = '结转凭证' AND SM = S_SM;
EXCEPTION
WHEN OTHERS THEN
O_MESSAGE:=S_SM ||'参数未设定,请与管理员联系'||SQLERRM;
RETURN;
END;
5:删除数据表中的重复记录
删除交通违章数据表中的重复记录(同一时间[haptime]、车号牌[numberplate]、处罚原因[reason]) 一、方法原理: 1、Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的, rowid确定了每条记录是在ORACLE中的哪一个数据文件、块、行上。 2、在重复的记录中,可能所有列的内容都相同,但rowid不会相同,所以只要确定出重复记录中那些具有最大rowid的就可以了,其余全部删除。
--处方编号依10格式输出,如不足10位,给左边补0,Rpad(右补0) select cfbh,Lpad(cfbh+10000,10,'0') cfbh1 from mz_jsls;
|
6。在报建信息中查有重复报建号的记录
select * from cnbjxx where cngcbjh in (
select cngcbjh from cnbjxx a
where a.cngcid !=
(
select max(cngcid) from cnbjxx b
where a.cngcbjh = b.cngcbjh
))