Home » SQL & PL/SQL » SQL & PL/SQL » Code (win 2003, oracle 8i,)
Code [message #303715] Sun, 02 March 2008 05:18 Go to next message
Messages: 365
Registered: December 2007
Location: Nowhere
Senior Member

Can you decipher this? This is a line from the dump of Oracle 8i.


Re: Code [message #303742 is a reply to message #303715] Sun, 02 March 2008 11:09 Go to previous message
Kevin Meade
Messages: 2101
Registered: December 1999
Location: Connecticut USA
Senior Member
this is a fancy thing that very very few people ever do. Indeed, I would wager the primary place you will see this is from Oracle internal developers and possibly third party tool developers.

In any event, here is my best guess as to what this means (this is only a guess):

1) SE_ACCOUNTS is a table that contains a nested table called MMBRID_C.
2) This nested table is a table of object ids or maybe REFs, meaning it contains object ids that point to objects in the database.
3) The alter table statement is saying that any OID value stored in this nested table cannot point to just any type of object but rather all OID values stored in this nested table must point back to a specific type of object as indicated by the OID identifier.
4) I believe an OID identifier was used rather than refering to an object type by name because the intent may be to use this nested table to store refs that live in a distributed environment and using the specific OID rather than name, allows for the same object type to be used on multiple Oracle databases and still be recognized as the same object type when visiting each of these databases in distributed query. Read up on GUID for more information about these OID values. Said another way, refering to the OID by its GUID assigned to it when it was created, rather than refering to it by its name, allows this nested table to point not only to objects in the local database, but also objects in remote databases too (this is a real guess on my part). Of course, I never use objects in this manner so it may in fact not be possible to refer to objects at remote databases in which case using the OID instead of name was just a coding fluke.

Well.. that is my best guess. Anyone else?

My advice to you is not to write any of this kind of code yourself unless it is the only way to get done what you need done. No one will understand it as should be evidenced by the small number of replys to your post.

Good luck, Kevin
Previous Topic: Code1
Next Topic: Nested cursors in nested loops
Goto Forum:

Current Time: Fri Jan 20 18:50:19 CST 2017

Total time taken to generate the page: 0.21882 seconds