It is meaningless. PL/SQL blocks handle their
own cursors within a single cursor employed by PRO*C, so the contents of
"sqlca.sqlerrd[2]" are likely leftover from a previous call? You may have
gotten the value you wanted in one version, but I wouldn't count on that
functionality surviving from version to version...
From the "PRO*C Reference" for v9.2 (page
c-12):
For the purposes of cursor management, an embedded PL/SQL block is treated just like a SQL statement. When an embedded PL/SQL block is executed, a parent cursor is associated with the entire block and a link is created between the cache entry and the private SQL area in the PGA for the embedded PL/SQL block. Be aware that each SQL statement inside the embedded block also requires a private SQL area in the PGA. These SQL statements use child cursors that PL/SQL manages itself. The disposition of the child cursors is determined through its associated parent cursor. That is, the private SQL areas used by the child cursors are freed after the private SQL area for its parent cursor is freed.
|
Title: using stored procedures from pro*c
- using stored procedures from pro*c Adams, Matthew (GEA, MABG, 088130)
- Tim Gorman