Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle Pro*C中的SQLCA.SQLERRD主机数组_Oracle_Oracle Pro C - Fatal编程技术网

Oracle Pro*C中的SQLCA.SQLERRD主机数组

Oracle Pro*C中的SQLCA.SQLERRD主机数组,oracle,oracle-pro-c,Oracle,Oracle Pro C,正如我们在许多文档中所知道的,提到了主机数组的第三个元素SQLCA.SQLERRD,即SQLCA.SQLERRD[2]包含迄今为止SQL语句处理的累计行数(以Pro*C为单位) 有人知道其他元素的重要性吗,即[0],[1],以及它们的含义吗?根据,他们什么也不做;它们是为将来使用而保留的,尽管看起来它们实际上不太可能被使用sqlerrd声明为long[6],但似乎只使用了[2]和[4],后者是SQL语句中用于分析错误的偏移量 有趣的是,他们没有使用[0]、[1]或[3];不知道它们在早期版本中是

正如我们在许多文档中所知道的,提到了主机数组的第三个元素
SQLCA.SQLERRD
,即
SQLCA.SQLERRD[2]
包含迄今为止SQL语句处理的累计行数(以Pro*C为单位)

有人知道其他元素的重要性吗,即
[0]
[1]
,以及它们的含义吗?

根据,他们什么也不做;它们是为将来使用而保留的,尽管看起来它们实际上不太可能被使用
sqlerrd
声明为
long[6]
,但似乎只使用了
[2]
[4]
,后者是SQL语句中用于分析错误的偏移量

有趣的是,他们没有使用[0]、[1]或[3];不知道它们在早期版本中是否用于其他用途。对于
[2]
[4]
具有类似的结构和类似的含义,因此可能会提示他们希望使用其他代码的目的;但这可能是一个毫无意义的巧合

,并且有一些看起来相关的东西。它开始看起来像一个可疑的标准。。。尽管Oracle只是部分遵守了这一点。

摘自《Informix SQL指南》(1998年2月):

('First'、'Second'等,因为并非所有语言索引数组都以0开头。)

第一个-在SELECT、UPDATE、INSERT或DELETE语句的PREPARE语句成功后,或在SELECT游标打开后,此字段包含受影响的估计行数

第二,当SQLCODE包含错误代码时,此字段包含零或一个额外的错误代码,称为ISAM错误代码,用于解释主错误的原因。成功插入单行后,此字段包含为该行生成的任何序列值的值

第三-成功执行多行插入、更新或删除操作后,此字段包含已处理的行数。在以错误结束的多行插入、更新或删除操作之后,此字段包含在检测到错误之前成功处理的行数

第四,在SELECT、UPDATE、INSERT或DELETE语句的PREPARE语句成功后,或在SELECT游标打开后,此字段包含磁盘访问和已处理行总数的估计加权和

第五,在PREPARE、executeimmediate、DECLARE或static SQL语句中出现语法错误后,此字段包含检测到错误的语句文本中的偏移量

第六个-成功获取选定行,或成功执行插入、更新或删除操作后,此字段包含处理的最后一行的rowid(物理地址)。此rowid值是否与数据库服务器指定的行相对应 返回给用户取决于数据库服务器处理查询的方式,特别是
对于SELECT语句。

在一些旧文档中,我看到它们将
sqlerrd[3]
作为处理的记录数,而不是
sqlerrd[2]
。同样令人好奇的是,“为什么不增加或减少”“为什么不增加或减少?”我记得IBM url中的信息就在我脑海的角落里,但现在“错误处理”文档让我感到困惑。它现在就像一个只有两个元素在使用的数组,不是[0]和[1],而是[2]和[4]。@Annjawn-这在Oracle文档中是吗?我见过对它的引用是在解析后估计的行数,Informix链接暗示了类似的东西,但我认为我从未在任何与Oracle相关的东西中看到过它。如果你能链接到它,我会很感兴趣的。是的,似乎是这样的-六个元素,但只使用了两个。我现在不知道(但如果我记得的话,明天可能会检查)其他人是否总是零,未初始化,或者可能持有未记录的信息。老实说,我不记得我在哪里看到这些信息,这就是我问这个问题的原因之一。但我会再挖掘一点,看看是否能找到任何更老的参考文献。问题是关于Oracle的,但这个答案似乎是关于IBMInformix的。这两者之间是否存在关系,从而使此答案具有相关性?对不起,我没有注意到您的[Oracle]标记。但是,如果SQLCA是标准的(或半标准的),您可能会在数据库实现中发现类似的特性。不,这不是来自IBM Informix;在IBM收购Informix之前,它来自Informix。