IP Library › Granted Patent US 7,206,784
Granted Patent B2
US 7,206,784 · App. 10/447,863 · Granted Apr 17, 2007

Method and apparatus for performing multiple merge operations using source data that is modified in between the merge operations

Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,206,784
App. No.
10/447,863
Granted
Apr 17, 2007
Kind
B2
Abstract

A method for performing multiple merge operations with a source data structure and a plurality of destination data structures, in which the source data structure is scanned one time in order to obtain source data that is then used for multiple merge operations. The source data is then used consecutively in order to merge the source data into the one or more destination data structures. Each merge is performed using the same scan of the source data structure and within the same execution of a database command.

Claims (22)

1. A method of combining data in a database system, the method comprising:

receiving a database command, in the Structured Query Language (SQL), that includes a first MERGE operator that specifies a first merge operation and a second MERGE operator that specifies a second merge operation;

wherein, within the database command, the first MERGE operator is located in a position, relative to the second MERGE operator, that indicates that

(a) the first merge operation is nested relative to the second merge operation, and

(b) results of the first merge operation are to be used as a source stream of the second merge operation;

executing the database command within the database server by performing the steps of:

obtaining source data from a source data structure by performing a single scan of the source data structure;

without performing any additional scans of the source data structure, performing a plurality of merge operations including the first merge operation and the second merge operation;

wherein the first merge operation produces a first result, and wherein the second merge operation produces a second result by merging the first result into a destination data structure.

2. The method of claim 1 , wherein the second merge operation uses the first result to modify data in the destination data structure.

3. The method of claim 1 , wherein the source data structure and the destination data structure are each a relational table.

4. The method of claim 1 , wherein:

within the database command, the second MERGE operator is located in a position, relative to a third MERGE operator, that indicates that

(a) the second merge operation is nested relative to a third merge operation, and

(b) results of the second merge operation are to be used as a source stream of the third merge operation; and

performing the plurality of merge operations further includes executing a third merge operation to merge the second result into at least a second destination data structure.

5. The method of claim 1 , wherein performing a plurality of merge operations using the source data includes using an intermediate data structure to store said first result and said second result.

6. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1 .

7. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2 .

8. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3 .

9. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4 .

10. A computer-readable storage medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2003
From: GU, RICHARD YU; BEDI, HARMEEK SINGH; THUSOO, ASHISH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 014126/0544 →
Continuity (1)
Related Publication 20040243589A1 · Dec 2, 2004