2/36
List of Examples
3-1 Defining a DataStream data type
3-2 Defining the Type Body
3-3 Specifying an ODI for an Object Type
3-4 Assigning and Using OIDs
3-5 Creating a Type
3-6 Instantiating a Type Object
3-7 Implementing a Member Function
3-8 Implementing Functions for Types Without a Simple Id Attribute
4-1 Defining an Object Type
4-2 Defining a "Greatest Common Divisor" Function
4-3 Implementing Methods for an Object Type
4-4 Invoking Methods; General Syntax
4-5 Invoking Methods; SQL Syntax
4-6 Invoking Methods; General Syntax
4-7 Using the SELF Build-In Parameter
4-8 Setting Variable Values
4-9 Creating a Package Specification
4-10 Asserting the Purity Level of a Type
4-11 Asserting the Purity Level of a Package
4-12 Asserting a Default Purity Level for All Type Methods and Package Procedures
4-13 Outputing Variable Values to the Terminal, for Debugging
4-14 Dropping Packages and Tables
4-15 Recompiling Packages
5-1 Creating an Alias Library
5-2 Specifying the Location of the Library Using an Environment Variable
5-3 Creating an Alias Library Using the Directory Object Option
5-4 Defining the Body of a Package
5-5 Setting the SID_DESC Entry in the Listener Configuration FIle
5-6 Updating the Network Substrate Configuration to Refer to External Procedures
5-7 Using Callbacks
6-1 Creating a CLOB Attribute of a Type
6-2 Creating a LOB Object Table
6-3 Creating LOB Columns in a Table
6-4 Selecting a LOB Locator and Assigning it to a Local Variable
6-5 Manipulating LOBs with PUT_LINE() and GETLENGTH()
6-6 Syntax of EMPTY_CLOB() and EMPTY_CLOB() Functions
6-7 Using EMPTY_BLOB() with SQL DML
6-8 Using EMPTY_CLOB() in PL/SQL Programs
6-9 Selecting a LOB from the Database into a Locator
6-10 Trimming a CLOB
6-11 Defining a PL/SQL External Procedure
6-12 Using Open() and Close() Code Block
7-1 Declaring a New Table
7-2 Building a Text Domain Index
7-3 Using the Contains() Operator
8-1 Creating an Indextype
8-2 Dropping an IndexType
8-3 Commenting an INDEXTYPE
8-4 Creating a Domain Index
8-5 Changing a Domain Index
8-6 Renaming a Domain Index
8-7 Rebuilding a Domain Index
8-8 Truncating a Domain Index
8-9 Dropping a Domain Index
8-10 Getting the Size of a UROWID Column
8-11 Using *_SECONDARY_OBJECTS Views
8-12 Using Local Domain Index Methods Within an Indextype
8-13 Creating and Partitioning an Index
8-14 Creating a Local Domain Index
8-15 Dropping a Local Index Partition
8-16 Creating System-Partitioned Tables
8-17 Inserting Data into System-Partitioned Tables
8-18 Inserting Data into System-Partitioned Tables; DATAOBJ_TO_PARTITION
8-19 Inserting Data into System-Partitioned Tables; DATAOBJ_TO_MAT_PARTITION
8-20 Inserting Data into a Particular Partition of a Table
8-21 Splitting an Existing Table Partition
8-22 Calling DML Operations on System-Partitioned Tables
8-23 Querying a System-Partitioned Table
9-1 Creating an Operator
9-2 Dropping an Operator; RESTRICT Option
9-3 Dropping an Operator; FORCE Option
9-4 Adding a Binding to an Operator
9-5 Adding COMMENTs to an Operator
9-6 Creating the Contains() Operator
9-7 Using the Operator Contains() in a Query
9-8 An Incorrect Use of the Operator Contains()
9-9 Operator Predicates
9-10 Using the Contains() Operator in a Simple Query
9-11 Using the Contains() Operator in a Complex Query
9-12 Using the Contains() Operator in a Multiple Table Query
9-13 Invoking Indextype Routines for the Contains() Operator Query
9-14 Using Operators Outside the WHERE Clause
9-15 Implementing the Contains() Operator in Index-Based Functions
9-16 Binding the Contains() Operator to the Functional Implementation
9-17 Accessing Ancillary Data with the Contains() Operator
9-18 Comparing Ancillary Data with the Contains() Operator
9-19 Implementing Bindings for Computations
9-20 Evaluating an Ancillary Operator
9-21 Creating an Ancillary Operator Binding
10-1 Three Predicate Forms that Trigger a Call to the Optimizer
10-2 Defining a Statistics Type
10-3 Defining a User-Defined Function
10-4 Calling a Selectivity Function Using Literal Arguments
10-5 Calling a Selectivity Function Using Non-Literal Arguments
10-6 Calling a Cost Function Using Literal Arguments
10-7 Calling a Cost Function Using Non-Literal Arguments
10-8 Defining an Operator
10-9 Calling an Index Cost Function Using Non-Literal Arguments
10-10 Creating a Table with an Object Type Column
10-11 Associating Statistics with Columns for User-Defined Statistics
10-12 Associating Statistics with Data Types for User-Defined Statistics
10-13 Creating an Indextype, an Index and an Operator for User-Defined Statistics
10-14 Associating Statistics with System-Managed Indextypes
10-15 Associating Statistics with User-Defined Operators
10-16 Associating Statistics with Standalone Functions
10-17 Associating Statistics with Package Functions
10-18 Associating Statistics with Type Methods
10-19 Associating Statistics with Default Selectivity
10-20 Associating Statistics with User-Defined Operators
10-21 Associating Statistics with Standalone Functions
10-22 Associating Statistics with Package Functions
10-23 Associating Statistics with Type Methods
10-24 Associating Statistics with Default Cost
10-25 Declaring NULL Statistics Associations for Columns and Indexes
11-1 Initializing OCI Handles
11-2 Retrieving Error Information Using OCIErrorGet()
12-1 How User-Defined Aggregate Functions Work
12-2 Implementing the ODCIAggregate Interface
12-3 Defining a User-Defined Aggregate Function
12-4 Using the SELECT Statement with User-Defined Aggregate Functions
12-5 Using the HAVING Clause with User-Defined Aggregate Functions
12-6 Using other Query Options with User-Defined Aggregate Functions
12-7 Parallel-Enabling a User-Defined Aggregate Function
12-8 Using External Memory to Store Aggregate Context
12-9 Using User-Defined Aggregates as Analytic Functions
12-10 Creating Materialized Views
12-11 Enabling Materialized Views for Query Rewrite
12-12 Creating and Using a User-Defined Aggregate Function
13-1 Creating a Collection Type
13-2 Storing a Clob in a Table
13-3 Creating a Function that Returns a Collection Type
13-4 Using a Collection Type in a Query
13-5 Declaring a Pipelined Table Function with REF CURSOR Arguments
13-6 Using a Pipelined Table Function with REF CURSOR Arguments
13-7 Declaring Pipelined Table Functions for the Interface Approach
13-8 Declaring Pipelined Table Functions for the Native PL/SQL Approach
13-9 Implementing a Pipelined Table Function for the Native PL/SQL Approach
13-10 Pipelining Function Results from One Function to Another
13-11 Querying for AnyType Data
13-12 Implementing the ODCITableDescribe() Method
13-13 Using Functions that Return AnyType
13-14 Building an Array of Attribute Positions and Save it in a Scan Context
13-15 Using a Table Function to Iteratively Retrieve Rows
13-16 Using Multiple Invocations of a Table Function
13-17 Defining REF CURSOR Variables for Table Function Queries
13-18 Using a REF CURSOR Variable
13-19 Using a REF CURSOR Variable More Effectively
13-20 Declaring a Table Function with Autonomous Transaction Pragma
13-21 Creating a View over a Table
13-22 How an INSTEAD OF Trigger is Fired when a Row is Inserted into a View
13-23 Passing a Set of Rows to a PL/SQL Function in a REF CURSOR
13-24 Directly Passing Results from a Subquery to a Function
13-25 Passing a Set of Rows to a PL/SQL Function Through REF CURSOR
13-26 Invoking a Function that Uses Several REF CURSOR Parameters
13-27 Using REF CURSOR to Pass Return Values Between Table Functions
13-28 Explicitly Using a Query REF CURSOR as Table Function Parameter
13-29 Using a REF CURSOR in a Call
13-30 Specifying Data Partitioning for a REF CURSOR Parameter
13-31 Implementing the StockPivot() Function
13-32 Using a REF CURSOR to Generate a Table from Another Table
13-33 Using a REF CURSOR to Scan and Insert
13-34 Using a REF CURSOR to Read a Set of External FIles
13-35 Controlling Input Data Streaming
13-36 Ordering the Input Stream
13-37 Loading a Domain Index in Parallel
13-38 Merging the Results from Parallel Domain Index Loads
13-39 Invoking the Merging of Parallel Domain Index Loads
15-1 Creating a Database User for the Power Demand Cartridge
15-2 Creating PowerGrid_Typ and NumTab_Typ Types for Power Demand Cartridge
15-3 Creating PowerDemand_Typ Type for Power Demand Cartridge
15-4 Implementing PowerDemand_Typ Type for Power Demand Cartridge
15-5 Implementing Power_XXX_Func() Functions for Power Demand Cartridge
15-6 Implementing Power_XXX() Functions for Power Demand Cartridge
15-7 Creating power_idxtype_im Object Type for Power Demand Cartridge
15-8 Registering Interface and Index Functions in Power Demand Cartridge
15-9 Registering ODCIIndexCreate() for Power Demand Cartridge
15-10 Registering ODCIIndexDrop() for Power Demand Cartridge
15-11 Registering ODCIIndexStart() for Power Demand Cartridge
15-12 Registering ODCIIndexStart() for Any Queries for Power Demand Cartridge
15-13 Registering ODCIIndexFetch() for Power Demand Cartridge
15-14 Registering ODCIIndexStart() for Power Demand Cartridge
15-15 Registering ODCIIndexInsert() for Power Demand Cartridge
15-16 Registering ODCIIndexDelete() for Power Demand Cartridge
15-17 Registering ODCIIndexUpdate() for Power Demand Cartridge
15-18 Registering ODCIIndexGetMetadata() for Power Demand Cartridge
15-19 Creating Package power_pkg for the Power Demand Cartridge
15-20 Creating Indextype power_idxtype for Power Demand Cartridge
15-21 Creating Statistics Table PowerCartUserStats for Power Demand Cartridge
15-22 Creating power_statistics Object Type Definition for Power Demand Cartridge
15-23 Registering interfaces and Statistics Functions for Power Demand Cartridge
15-24 Registering ODCIStatsCollect() for Power Demand Cartridge
15-25 Registering ODCIStatsDelete() for Power Demand Cartridge
15-26 Registering ODCIStatsCollect() for Power Demand Cartridge
15-27 Registering ODCIStatsDelete() for Domain Indexes in Power Demand Cartridge
15-28 Implementing Selectivity Function for Power Demand Cartridge
15-29 Registering ODCIStatsSelectivity() for Queries for Power Demand Cartridge
15-30 Registering ODCISIndexCost() for Queries for Power Demand Cartridge
15-31 Registering ODCIStatsIndexCost() for Any Queries for Power Demand Cartridge
15-32 Registering ODCIStatsFunctionCost() for Power Demand Cartridge
15-33 Using Statistics Methods with Database Objects for Power Demand Cartridge
15-34 Analyzing Database Objects for the Power Demand Cartridge
15-35 Creating PowerDemand_Tab Table for Power Demand Cartridge
15-36 Populating PowerDemand_Tab Table for Power Demand Cartridge
15-37 Computing Grid and Cell Demands for Power Demand Cartridge
15-38 Making Equality Queries for Power Demand Cartridge
15-39 Creating an Index in PowerDemand_Tab Table for Power Demand Cartridge
15-40 Making Equality Queries with Index for Power Demand Cartridge
16-1 Implementing the EQUALS Operator
16-2 Implementing the LESS THAN Operator
16-3 Implementing the GREATER THAN Operator
16-4 Creating the EQUALS Operator
16-5 Creating the LESS THAN Operator
16-6 Creating the GREATER THAN Operator
16-7 Creating a PSBTREE Index Type
16-8 Creating the Implementation Body for PBSTREE
16-9 Implementing ODCIGetInterfaces() for PBSTREE in PL/SQL
16-10 Implementing ODCIIndexCreate() for PBSTREE in PL/SQL
16-11 Implementing ODCIIndexDrop() for PBSTREE in PL/SQL
16-12 Implementing ODCIIndexAlter() for PSBTREE in PL/SQL
16-13 Implementing ODCIIndexUpdPartMetadata() for PSBTREE in PL/SQL
16-14 Implementing ODCIIndexExchangePartition() for PSBTREE in PL/SQL
16-15 Registering the Implementation of ODCIIndexInsert()
16-16 Registering the Implementation of ODCIIndexDelete()
16-17 Registering the Implementation of ODCIIndexUpdate()
16-18 Registering the Implementation of ODCIIndexStart()
16-19 Registering the Implementation of ODCIIndexFetch()
16-20 Registering the Implementation of ODCIIndexClose()
16-21 Defining Mappings for the Object Type and Its Null Value
16-22 Keeping the Scan State During Fetching Calls
16-23 Implementing a Common Error Processing Routine in C
16-24 Implementing ODCIIndexInsert() for PSBTREE in C
16-25 Implementing ODCIIndexDelete() for PSBTREE in C
16-26 Implementing ODCIIndexUpdate() for PSBTree in C
16-27 Implementing ODCIIndexStart() for PSBTREE in C
16-28 Implementing ODCIIndexFetch() for PSBTREE in C
16-29 Implementing ODCIIndexClose() for PSBTREE in C
16-30 Implementing the Indextype for PSBTREE
16-31 Creating and Populating a Partitioned Table for PSBTREE
16-32 Creating a PSBTREE Index on a Column
16-33 Using PSBTREE Operators in a Query
17-1 Making SQL Declarations for Implementing ODCITableXXX() in C
17-2 Implementing ODCTableXXX() Methods in C
17-3 Making SQL Declarations for Implementing OCITableXXX() in Java
17-4 Implementing ODCITableXXX() Methods in Java
21-1 Using Statistics Functions in an Extensible Optimizer Interface
Scripting on this page enhances content navigation, but does not change the content in any way.