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

Ann*_*awn 4 oracle oracle-pro-c

正如我们在许多文档中所知道的那样,主机数组的第三个元素SQLCA.SQLERRDiesqlca.sqlerrd[2]包含迄今为止由 SQL 语句处理的累积行数(就 Pro*C 而言)。

没有人知道的其他元素,即的意义[0][1]以及它们意味着什么?

Ale*_*ole 5

根据错误处理文档,他们什么都不做;它们保留供将来使用,尽管看起来它们实际上不太可能被使用。sqlerrd被声明为long[6], 但只是[2]并且[4]似乎被使用,后者是解析错误在 SQL 语句中的偏移量。

有趣的是,他们不使用 [0]、[1] 或 [3];想知道它们是否在早期版本中用于其他用途。这个旧的 informix 链接具有类似的结构,[2]并且对于and具有类似的含义[4],因此可能会暗示他们希望将其他链接用于什么目的;但可能是无意义的巧合……

PostgreSQL 似乎具有相同的结构DB2也是如此,并且SQL Server有一些看起来相关的东西。它开始看起来有点像一个标准……尽管 Oracle 只是部分遵守了这个标准。