Обсуждение: ALTER Table

Поиск
Список
Период
Сортировка

ALTER Table

От
Alex
Дата:
Hi,
is it possible to add a column to a table at a specific place ? Reading
the man pages i could not figure that out.

Thanks.
Alex



Re: ALTER Table

От
Shridhar Daithankar
Дата:
Alex wrote:
> is it possible to add a column to a table at a specific place ? Reading
> the man pages i could not figure that out.

Why do you want to add it at specific location? What does it achieve?

  Shridhar


Re: ALTER Table

От
Gaetano Mendola
Дата:
Shridhar Daithankar wrote:

> Alex wrote:
>
>> is it possible to add a column to a table at a specific place ?
>> Reading the man pages i could not figure that out.
>
>
> Why do you want to add it at specific location? What does it achieve?

I miss the same feature too, this is my reason:
is just to keep clean your schema, I have in my revision control system
all tables with fields grouped for tipology:

CREATE TABLE a(

   G1  as INTEGER,
   ...
   Gn  as INTEGER,
   H1  as INTEGER,
   ...
   Hm  as INTEGER
);

when I add let me say Gn+1 in my RCS I have:

CREATE TABLE a(

   G1   as INTEGER,
   ...
   Gn   as INTEGER,
   Gn+1 as INTEGER,
   H1   as INTEGER,
   ...
   Hm   as INTEGER
);

and will be nice to have in my fourther dumps
the same structure, just to do a DIFF betwen two schemas
without become crazy!


I hope I was clear enough.


Regards
Gaetano Mendola

















Re: ALTER Table

От
Shridhar Daithankar
Дата:
Gaetano Mendola wrote:

> Shridhar Daithankar wrote:
>
>> Alex wrote:
>>
>>> is it possible to add a column to a table at a specific place ?
>>> Reading the man pages i could not figure that out.
>>
>>
>>
>> Why do you want to add it at specific location? What does it achieve?
>
>
> I miss the same feature too, this is my reason:
> is just to keep clean your schema, I have in my revision control system
> all tables with fields grouped for tipology:
>
> CREATE TABLE a(
>
>   G1  as INTEGER,
>   ...
>   Gn  as INTEGER,
>   H1  as INTEGER,
>   ...
>   Hm  as INTEGER
> );
>
> when I add let me say Gn+1 in my RCS I have:
>
> CREATE TABLE a(
>
>   G1   as INTEGER,
>   ...
>   Gn   as INTEGER,
>   Gn+1 as INTEGER,
>   H1   as INTEGER,
>   ...
>   Hm   as INTEGER
> );
>
> and will be nice to have in my fourther dumps
> the same structure, just to do a DIFF betwen two schemas
> without become crazy!

Well, if you diff two schema dumps, you will find one line added to correct
scope i.e. {} block because it belongs to same table. And anyway there is big
difference between schema diffs and database diffs. Sure you can not produce an
SQL script which would bring two databases to same state.

Only thing that can be done is to manually reordering the schema since it gives
you pretty localised view of changes due to repository.

Also check http://www.varlena.com/varlena/GeneralBits/30.html. The last bit
summerises another discussion on this.

HTH

  Shridhar


Re: ALTER Table

От
Gaetano Mendola
Дата:
Shridhar Daithankar wrote:

> Gaetano Mendola wrote:
>
>> Shridhar Daithankar wrote:
>>
>>> Alex wrote:
>>>
>>>> is it possible to add a column to a table at a specific place ?
>>>> Reading the man pages i could not figure that out.
>>>
>>>
>>>
>>>
>>> Why do you want to add it at specific location? What does it achieve?
>>
>>
>>
>> I miss the same feature too, this is my reason:
>> is just to keep clean your schema, I have in my revision control system
>> all tables with fields grouped for tipology:
>>
>> CREATE TABLE a(
>>
>>   G1  as INTEGER,
>>   ...
>>   Gn  as INTEGER,
>>   H1  as INTEGER,
>>   ...
>>   Hm  as INTEGER
>> );
>>
>> when I add let me say Gn+1 in my RCS I have:
>>
>> CREATE TABLE a(
>>
>>   G1   as INTEGER,
>>   ...
>>   Gn   as INTEGER,
>>   Gn+1 as INTEGER,
>>   H1   as INTEGER,
>>   ...
>>   Hm   as INTEGER
>> );
>>
>> and will be nice to have in my fourther dumps
>> the same structure, just to do a DIFF betwen two schemas
>> without become crazy!
>
>
> Well, if you diff two schema dumps, you will find one line added to
> correct scope i.e. {} block because it belongs to same table. And anyway
> there is big difference between schema diffs and database diffs. Sure
> you can not produce an SQL script which would bring two databases to
> same state.
>
> Only thing that can be done is to manually reordering the schema since
> it gives you pretty localised view of changes due to repository.
>
> Also check http://www.varlena.com/varlena/GeneralBits/30.html. The last
> bit summerises another discussion on this.

Yes but the missing feature is there.


Regards
Gaetano Mendola