CREATE OR REPLACE FUNCTION NZTX_ZDDCTZQNR --年中调薪——自动带出调整前内容 (canshu int) RETURN varchar2 is C212621 number(10,2); --调整前标准工资C21262, gz_ym年月 C212622 number(10,2); --调整前基本工资GZ_MAIN203 C212623 number(10,2); --调整前岗位工资C21057 C212624 number(10,2); --调整前绩效工资C21106 C212625 varchar2(500); --员工工号A0190 C212626 varchar2(500); --一级部门J01_DEPT_IDEX3 C212627 varchar2(500); --二级部门J01_DEPT_IDEX4 C212628 varchar2(500); --岗位名称J01_E0101 BEGIN select C21262 into C212621 from C21 where A0188=canshu and GZ_YM=to_char(sysdate,'yyyymm')-3; SELECT GZ_MAIN203 into C212622 from C21 where A0188=canshu and GZ_YM=to_char(sysdate,'yyyymm')-3; SELECT C21057 into C212623 from C21 where A0188=canshu and GZ_YM=to_char(sysdate,'yyyymm')-3; select C21106 into C212624 from C21 where A0188=canshu and GZ_YM=to_char(sysdate,'yyyymm')-3; select A0190 into C212625 from view_a01 where A0188=canshu; select J01_DEPT_IDEX3 into C212626 from view_a01 where a0188=canshu; select J01_DEPT_IDEX4 into C212627 from view_a01 where a0188=canshu; select J01_E0101 into C212628 from view_a01 where a0188=canshu; RETURN 'FFC_NZTXZJ006:'||C212621||',FFC_NZTXZJ007:'||C212622||',FFC_NZTXZJ008:'||C212623||',FFC_NZTXZJ009:'||C212624||',FFC_NZTXZJ001:'||C212625||',FFC_NZTXZJ004:'||C212626||',FFC_NZTXZJ00:'||C212627||',FFC_NZTXZJ003:'||C212628; END;为啥无法带出一级部门、二级部门、岗位名称?详解,演示
时间: 2024-03-17 10:43:21 浏览: 57
从代码中可以看出,无法带出一级部门、二级部门、岗位名称的原因是在查询时使用的表不正确。在函数中,使用了视图 view_a01 和表 C21 进行查询。但是,视图 view_a01 并没有包含岗位名称的信息,而表 C21 中也没有一级部门和二级部门的信息。
解决方案是修改查询语句,使用包含岗位名称、一级部门和二级部门信息的视图来查询。例如,可以使用视图 view_a01_all,其中包含了所有需要的信息:
```
select J01_E0101 into C212628 from view_a01_all where a0188=canshu;
select J01_DEPT_IDEX3 into C212626 from view_a01_all where a0188=canshu;
select J01_DEPT_IDEX4 into C212627 from view_a01_all where a0188=canshu;
```
这样就可以正确地带出一级部门、二级部门、岗位名称的信息了。
阅读全文