编译报错:
Error at line 796, column 17 in file ==================
EXEC SQL
................1
PLS-S-00358, column 'DECODE' exists in more than one table; use qualifier
Error at line 796, column 17 in file /keb/cs/src/csib/bs_rcamcci02000.pc
EXEC SQL
................1
PLS-S-00000, SQL Statement ignored
Semantic error at line 796, column 17, file /keb/cs/src/csib/bs_rcamcci02000.pc:
EXEC SQL
................1
PCC-S-02346, PL/SQL found semantic errors
make: The error code from the last command is 1.
报错处的语句:
EXEC SQL
SELECT DECODE(C.CODE, NULL, A.CODE, C.CODE),
DECODE(C.CODE, NULL, A.DECODE, C.DECODE)
INTO :h_code:idct, :h_decode:idct
FROM race.T_CODE A,
( SELECT B.CAT_NAME, B.CODE, B.DECODE
FROM race.T_CODE B
WHERE B.CAT_NAME = 'CSONOFCD' AND B.COUNTRY = :h_tbcs_brcd_ctrycd1[0] ) C
WHERE A.CAT_NAME = 'CSONOFCD'
AND A.COUNTRY = 'CC'
AND A.CAT_NAME = C.CAT_NAME(+)
AND A.CODE = C.CODE(+) ;
分析和解决:
sql 语句没有问题,能打单独执行,oracle 为10g,PROC 编译,
解决方法:
将sqlcheck=full 修改成为 sqlcheck=syntax 编译通过,并且测试似乎也没有什么问题!
猜想:sqlcheck 为full 的时候检查太严格了
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21634752/viewspace-664286/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21634752/viewspace-664286/