最近,我对我的程序中的错误感到困惑,如我在其他问题中所述:Strange Cursor behavior while declaring same cursor multiple times
在使用了很多printf
等时,我发现:
EXEC SQL Declare abc Cursor for select..
不会更改/返回sqlca.sqlcode
EXEC SQL Open abc;..
返回sqlca.sqlcode
EXEC SQL Fetch abc into .. ; ..
返回sqlca.sqlcode
EXEC SQL Close abc; ..
返回sqlca.sqlcode
EXEC SQL Commit; ..
返回sqlca.sqlcode
我想了解为什么声明没有返回任何代码,因为我们正在使用EXEC SQL
声明&我以为EXEC SQL
总是会返回sqlca.sqlcode
。
此外,是否有任何Oracle Pro * C文档可以解释所有这些内容?
提前致谢。
答案 0 :(得分:0)
根据Oracle's documentation on DEF_SQLCODE,所描述的行为似乎是一个错误;如果您在代码中设置了myscript.py
或#include <sqlqca.h>
并设置了EXEC SQL INCLUDE SQLCA;
,那么它应该已经返回了代码。