You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Christian d'Heureuse (JIRA)" <ji...@apache.org> on 2009/11/04 00:10:32 UTC

[jira] Updated: (DERBY-4) "order by" is not supported for "insert ... select"

     [ https://issues.apache.org/jira/browse/DERBY-4?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian d'Heureuse updated DERBY-4:
-------------------------------------

    Description: 
When filling a table with "insert ... select ...", "order by" cannot be specified.

There is no method to copy a table sorted into another table (except using export/import). This would be useful to optimize performance for big tables, or to create identity values that are ascending (related to another column).

Example:

create table temp1 (
   s varchar(10));

insert into temp1 values 'x','a','c','b','a';

create table temp2 (
   i integer not null
      generated always as identity
      primary key,
   s varchar(10));

insert into temp2 (s)
   select s from temp1 order by s;

--> Error: "order by" is not allowed.

-- trying to use "group by" instead of "oder by":

insert into temp2 (s)
   select s from temp1 group by s;
select * from temp2;

--> "group by" did not sort the table.



  was:
When filling a table with "insert ... select ...", "order by" cannot be specified.

There is not method to copy a table sorted into another table (except using export/import). This would be useful to optimize performance for big tables, or to create identity values that are ascending (related to another column).

Example:

create table temp1 (
   s varchar(10));

insert into temp1 values 'x','a','c','b','a';

create table temp2 (
   i integer not null
      generated always as identity
      primary key,
   s varchar(10));

insert into temp2 (s)
   select s from temp1 order by s;

--> Error: "order by" is not allowed.

-- trying to use "group by" instead of "oder by":

insert into temp2 (s)
   select s from temp1 group by s;
select * from temp2;

--> "group by" did not sort the table.




> "order by" is not supported for "insert ... select"
> ---------------------------------------------------
>
>                 Key: DERBY-4
>                 URL: https://issues.apache.org/jira/browse/DERBY-4
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Christian d'Heureuse
>            Priority: Minor
>         Attachments: derby-4_dhw.diff, derby-4_dhw.stat, insertOrderBy.diff, insertOrderBy_v2.diff, insertOrderBy_v3.diff, samples.ij, samples.ij
>
>
> When filling a table with "insert ... select ...", "order by" cannot be specified.
> There is no method to copy a table sorted into another table (except using export/import). This would be useful to optimize performance for big tables, or to create identity values that are ascending (related to another column).
> Example:
> create table temp1 (
>    s varchar(10));
> insert into temp1 values 'x','a','c','b','a';
> create table temp2 (
>    i integer not null
>       generated always as identity
>       primary key,
>    s varchar(10));
> insert into temp2 (s)
>    select s from temp1 order by s;
> --> Error: "order by" is not allowed.
> -- trying to use "group by" instead of "oder by":
> insert into temp2 (s)
>    select s from temp1 group by s;
> select * from temp2;
> --> "group by" did not sort the table.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.