Data migration and table manipulation in a database management system

US9977798B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9977798-B2
Application numberUS-201514803230-A
CountryUS
Kind codeB2
Filing dateJul 20, 2015
Priority dateJul 20, 2015
Publication dateMay 22, 2018
Grant dateMay 22, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for migrating data between tables. The method includes, receiving a Structured Query Language (SQL) statement, where the SQL statement identifies a source table and a destination table, and the source table contains source data divided into columns with a set of column names. A database management system identifies a set of instructions for manipulating the source data. The database management system generates an interim SQL statement, based on the SQL statement. The database management system executes the interim SQL statement, which copies the manipulated source data into a set of columns of the destination table.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for migrating data between tables, the method comprising: receiving, by one or more processors, a Structured Query Language (SQL) statement, wherein the SQL statement identifies a source table and a destination table, and wherein the source table comprises a plurality of source data divided into columns with a set of source column names; identifying at least one set of instructions associated with the SQL statement, wherein the at least one set of instructions further comprise: instructions for manipulating the plurality of source data; generating an interim SQL statement, based on the SQL statement; responsive to identifying the least one set of instructions associated with the SQL statement, manipulating the plurality of source data and the destination table by executing a plurality of clauses, wherein the plurality of clauses contain functional syntax comprising at least one of: migrating contents of the plurality of source data; executing the interim SQL statement, wherein executing the interim SQL statement comprises: copying the manipulated plurality of source data into a set of destination columns of the destination table; and migrating the contents of the plurality of source data to the set of destination columns of the destination table, wherein the migrated contents derive from the plurality of clauses. 2. The method of claim 1 , wherein manipulating the destination table comprises: determining whether the destination table has a structure and a set of destination column names; and in response to determining the destination table does not have a structure and the set of destination column names, copying a structure of the source table and the set of source column names into the destination table. 3. The method of claim 2 , further comprising: in response to determining the destination table has a structure and the set of destination column names, modifying the structure of the destination table and the destination column names, wherein modifying the structure of the destination table further comprises at least one of: adding at least one column to the destination table; and removing at least one column from the destination table. 4. The method of claim 1 , wherein generating the interim SQL statement comprises: utilizing the plurality of clauses, wherein the plurality of clauses comprises: a SELECT clause and an INSERT INTO clause; updating, based on the at least one set of instructions associated with the SQL statement, the SELECT clause and the INSERT INTO clause, wherein, the SELECT clause comprises instructions for selecting at least one column name from the set of source column names to be copied into the destination table and wherein the INSERT INTO clause comprises instructions for inserting the manipulated plurality of source data into the set of destination columns of the destination table. 5. The method of claim 1 , wherein the at least one set of instructions associated with the SQL statement, further comprises: identifying a first clause among the plurality of clauses, wherein the first clause comprises a name element and an expression element, determining whether the name element is substantially similar to at least one column name of the set of source column names, in response to determining that the name element is substantially similar to at least one column name of the set of source column names, replacing the at least one column name of the set of source column names with the expression element of the first clause; and in response to determining that the name element is not substantially similar to at least one column name of the set of source column names: adding the name element, of the first clause, to a set of destination column names; adding a column to the set of destination columns; and adding the expression element, of the first clause, to the set of source column names. 6. The method of claim 1 , wherein the at least one set of instructions associated with the SQL statement, further comprises: identifying a second clause among the plurality of clauses, wherein the second clause comprises a name element; determining whether the name element is substantially similar to at least one column name of the set of source column names; in response to determining that the name element is substantially similar to the at least one column name of the set of source column names, removing a column, associated with the substantially similar column name of the set of source column names, from the destination table. 7. The method of claim 1 , wherein the at least one set of instructions associated with the SQL statement, further comprises: identifying a third clause among the plurality of clauses, wherein the third clause comprises a name element; determining whether the name element is substantially similar to at least one column name of the set of source column names; and in response to determining that the name element is substantially similar to at least one column name of the set of source column names: maintaining a column in the destination table, wherein the column in the destination table is associated with the substantially similar column name of the set of source column names, and removing the plurality of source data corresponding to the substantially similar column name of the set of source column names, from the source table. 8. A computer program product comprising: a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising: program instructions to receive, by one or more processors, a Structured Query Language (SQL) statement, wherein the SQL statement identifies a source table and a destination table, and wherein the source table comprises a plurality of source data divided into columns with a set of source column names; program instructions to identify at least one set of instructions associated with the SQL statement, wherein the at least one set of instructions further comprise: instructions for manipulating the plurality of source data; program instructions to generate an interim SQL statement, based on the SQL statement; responsive to identifying the least one set of instructions associated with the SQL statement, program instructions to manipulate the plurality of source data and the destination table by executing a plurality of clauses, wherein the plurality of clauses contain functional syntax comprising at least one of: program instructions to migrate contents of the plurality of source data; program instructions to execute the interim SQL statement, wherein the program instructions to execute the interim SQL statement comprise: program instructions to copy the manipulated plurality of source data into a set of destination columns of the destination table; and program instructions to migrate the contents of the plurality of source data to the set of destination columns of the destination table, wherein the migrated contents derive from the plurality of clauses. 9. The computer program product of claim 8 , program instructions to manipulate the destination table comprise: program instructions to determine whether the destination table has a structure and a set of destination column names; and in response to determining the destination table does not have a structure and a set of destination column names, program instructions to copy a structure of the source table and the set of source column names into the destination table. 10. The computer program product of claim 9 , further comprising: in response to determining the destination table has a structure and a set of destination column names, program instruct

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9977798B2 cover?
A method for migrating data between tables. The method includes, receiving a Structured Query Language (SQL) statement, where the SQL statement identifies a source table and a destination table, and the source table contains source data divided into columns with a set of column names. A database management system identifies a set of instructions for manipulating the source data. The database ma…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F16/214. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 22 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).