解决方案 »
- oracle解析xml实例增删改,自己收藏
- 请教一个SQL语句
- 执行存储过程的问题???在线等待
- 这个SQL可以优化一下吗?
- 求助, create table error !
- 急求高手解决ORA-00942: table or view does not exist的问题
- 各位大神帮帮忙!
- 急!!!高分求救!!!(100分)
- oracle7.3可以在win2000里安装吗?
- 如何用kettle工具定时从ftp下载更新的文件
- 编译db-db-4.8.30.NC.tar.gz遇到unexpected EOF while looking for matching
- 请教,DBMS_JOB.SUBMIT创建定时任务的问题
create OR REPLACE PROCEDURE TotalSalary
(zg_zgbh in zgxx00.zgbh00%type,totalSalary out number,zcjbSal out number,
zwSal out number,kySal out number,totalksSal out number)--职工编号,实际工资总和,基本工资,职务工资,科研工资,课时总工资
is
zg_zcbh ZGXX00.Zcbh00%type;--职称编号
zg_zwbh ZGXX00.Zwbh00%TYPE;--职务编号
zg_sfjx ZGXX00.Sfjx00%type;--是否教学
zg_sfky ZGXX00.Sfky00%type;--是否科研
ksNUM number(10);
ksSal number(10);
begin
select Zcbh00,Zwbh00,Sfjx00,Sfky00 into zg_zcbh,zg_zwbh,zg_sfjx,zg_sfky from ZGXX00 where ZGBH00=zg_zgbh;
select JBGZ00 into zcjbSal from ZCXX00 where ZCBH00=zg_zcbh;
select ZWGZ00 into zwSal from ZWXX00 where ZWBH00=zg_zwbh;
if
zg_sfjx='是'
then
select KSS000 into ksNUM from GRJXDJ where ZGBH00=zg_zgbh;
select MKSJT0 into ksSal from JXJT00 where ZCBH00=zg_zcbh;
else
ksNUM:=0;
ksSal:=0;
end if;
if
zg_sfky='是'
then
select MYKYJT into kySal from KYJT00 where ZCBH00=zg_zcbh;
else
kySal:=0;
end if;
totalksSal:=ksNUM*ksSal;
totalSalary :=ksNUM*ksSal+kySal+zwSal+zcjbSal;
commit;
end;存储过程代码
你触发器改成自治事务试试
在declare处要创建一个自治事务;
PRAGMA AUTONOMOUS_TRANSACTION;
在update是(commit)提交事务应该就可以了。