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 BEGIN select C21262 into C212621 from C21 where A0188=canshu and GZ_YM=to_char(sysdate,'yyyymm')-1; SELECT GZ_MAIN203 into C212622 from C21 where A0188=canshu and GZ_YM=to_char(sysdate,'yyyymm')-1; SELECT C21057 into C212623 from C21 where A0188=canshu and GZ_YM=to_char(sysdate,'yyyymm')-1; select C21106 into C212624 from C21 where A0188=canshu and GZ_YM=to_char(sysdate,'yyyymm')-1; select A0190 into C212625 from view_a01 where A0188=canshu; RETURN 'FFC_NZTXZJ006:'||C212621||',FFC_NZTXZJ007:'||C212622||',FFC_NZTXZJ008:'||C212623||',FFC_NZTXZJ009:'||C212624||',FFC_NZTXZJ001:'||C212625; END;哪里有问题?
时间: 2024-04-07 08:32:56 浏览: 32
这段代码的问题可能有以下几个:
1. 没有对参数进行有效性验证,可能会导致查询无结果或者查询结果不准确的问题。
2. 在使用to_char函数时,没有对语言环境进行指定,可能会导致在不同的语言环境下查询结果不一致的问题。
3. 没有对select语句的结果进行异常处理,如果查询结果为空,将会导致程序抛出异常。
4. 对于select语句,如果A0188存在多个匹配值,将会导致查询结果不准确的问题。
需要根据实际情况进行修正和调整。
阅读全文