15.01.2013 Views

Oracle Database 11g The Complete Reference (Osborne ORACLE ...

Oracle Database 11g The Complete Reference (Osborne ORACLE ...

Oracle Database 11g The Complete Reference (Osborne ORACLE ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Contents xxiii<br />

Using INSTEAD OF Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620<br />

Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622<br />

Syntax for Creating Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623<br />

Managing Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624<br />

39 Collectors (Nested Tables and Varying Arrays) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625<br />

Varying Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626<br />

Creating a Varying Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626<br />

Describing the Varying Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627<br />

Inserting Records into the Varying Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628<br />

Selecting Data from Varying Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629<br />

Nested Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632<br />

Specifying Tablespaces for Nested Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633<br />

Inserting Records into a Nested Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633<br />

Working with Nested Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634<br />

Additional Functions for Nested Tables and Varying Arrays . . . . . . . . . . . . . . . . . . . . . 636<br />

Management Issues for Nested Tables and Varying Arrays . . . . . . . . . . . . . . . . . . . . . . 637<br />

Variability in Collectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637<br />

Location of the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638<br />

40 Using Large Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639<br />

Available Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640<br />

Specifying Storage for LOB Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641<br />

Manipulating and Selecting LOB Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643<br />

Initializing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645<br />

Using insert with Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647<br />

Updating LOB Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647<br />

Using String Functions to Manipulate LOB Values . . . . . . . . . . . . . . . . . . . . . . 647<br />

Using DBMS_LOB to Manipulate LOB Values . . . . . . . . . . . . . . . . . . . . . . . . . 648<br />

Deleting LOBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664<br />

41 Advanced Object-Oriented Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665<br />

Row Objects vs. Column Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666<br />

Object Tables and OIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666<br />

Inserting Rows into Object Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667<br />

Selecting Values from Object Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668<br />

Updates and Deletes from Object Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669<br />

<strong>The</strong> REF Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669<br />

Using the DEREF Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670<br />

<strong>The</strong> VALUE Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672<br />

Invalid <strong>Reference</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673<br />

Object Views with REFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673<br />

A Quick Review of Object Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674<br />

Object Views Involving <strong>Reference</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674<br />

Object PL/SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677<br />

Objects in the <strong>Database</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679<br />

PART VI<br />

Java in <strong>Oracle</strong><br />

42 An Introduction to Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683<br />

Java vs. PL/SQL: An Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!