On Mar 23, 10:38 pm, Shane <[email protected]> wrote:
> Hi - Suppose one's passing back a rowid from a stored procedure to C/C
> ++ (using say OTL or equivalent). What is the corresponding C++ type?
> Right now my C/C++ type is a 19 byte string:
>
> create or replace procedure ....(rw_id OUT rowid)
> begin
> insert into sseoms_order values(...) returning rowid into rw_id;
> end
>
> The returning row id is being copied into a char[19].
>
> As an aside I tested code that does searches with unique primary keys
> vs. the same tables without any indexes and the searches replaced with
> rowid such as:
>
> update ... where rowid=id;
>
> Unexpectedly the rowid approach under performs the unique primary
> index. I'm wondering if I'm wasting time passing large 19 byte ids
> betwee the app and the server and/or doing implicit chartorowid()/
> rowidtochar() conversions.
>
> Shane
You've hit the nail on the head with the implicit conversion issue.
The primary key index doesn't suffer that fate and thus it's much
faster than your implicit conversion approach.
David Fitzjarrell
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Oracle PL/SQL" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Oracle-PLSQL?hl=en
-~----------~----~----~----~------~----~------~--~---