PRO*C 编译

编译报错:

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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值