ITPub博客

首页 > Linux操作系统 > Linux操作系统 > PRO*C 编译

PRO*C 编译

原创 Linux操作系统 作者:wuft2003 时间:2010-06-03 09:07:56 0 删除 编辑

编译报错:

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博客 ” ,链接:https://blog.itpub.net/21634752/viewspace-664286/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: pbf 合并 分割
下一篇: 日志
请登录后发表评论 登录
全部评论

注册时间:2009-05-12

  • 博文量
    295
  • 访问量
    383685