Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.01;
Скачать: CL | DM;

Вниз

Interbase Interactive SQL   Найти похожие ветки 

 
Tatushka ©   (2006-09-13 15:52) [0]

Подскажите пожалуйста, как в ISQL изменить тип поля, и его позицию? Был задан не верный тип поля...
Версия Interbase 5.5.


 
Сергей М. ©   (2006-09-13 15:55) [1]


> как в ISQL изменить тип поля


см. ALTER clause


> его позицию


А не по барабану ли она ?


 
Sergey13 ©   (2006-09-13 16:01) [2]

> Версия Interbase 5.5.

Выкинуть нафиг. По мнению многих уважаемых - самая нестабильная версия. К тому же платная.


 
Tatushka ©   (2006-09-13 16:21) [3]


> см. ALTER clause

Т.е.? Где это можно посмотреть?


> А не по барабану ли она ?

Неа. Дальше в реализации проги очень не удобно будет :( т.к. кол-во полей в таблице приличное...


> Выкинуть нафиг. По мнению многих уважаемых - самая нестабильная
> версия. К тому же платная.

К сожалению не могу, а с удовольствием бы... :(


 
palva ©   (2006-09-13 16:28) [4]

ALTER TABLE TABLE1 ALTER FIELD4 TYPE INTEGER, ALTER FIELD4 POSITION 1;


 
palva ©   (2006-09-13 16:29) [5]

Номера позиций начинаются с единицы


 
Sergey13 ©   (2006-09-13 16:31) [6]

> .е.? Где это можно посмотреть?

Так в документации разумеется. Ее можно взять на ibase.ru

> Неа. Дальше в реализации проги очень не удобно будет :(
> т.к. кол-во полей в таблице приличное...

Неудобства не опишешь? Интересно.

> К сожалению не могу, а с удовольствием бы... :(

Кто/что мешает? Ты не говори никому - никто и не узнает. 8-)


 
Tatushka ©   (2006-09-13 16:34) [7]

Не получается :(
Ругается на второй Alter, типа не узнает и все тут.


 
Sergey13 ©   (2006-09-13 16:36) [8]

> [7] Tatushka ©   (13.09.06 16:34)

Ну и сделай за 2 раза.


 
palva ©   (2006-09-13 16:40) [9]


> Tatushka ©   (13.09.06 16:34) [7]
> Не получается :(
> Ругается на второй Alter, типа не узнает и все тут.


Это работает в FireBird 1.5 SQL Dialect 3


 
Sergey13 ©   (2006-09-13 16:45) [10]

> [7] Tatushka ©   (13.09.06 16:34)

Тебе это непременно надо в Interbase Interactive SQL? Скачай IBExpert - могучая весчь. И бесплатная.


 
Tatushka ©   (2006-09-13 16:51) [11]


> Ну и сделай за 2 раза.

Он ругается на этот: ALTER TABLE TABLE1 ALTER FIELD4 TYPE INTEGER


> Это работает в FireBird 1.5 SQL Dialect 3

Значит у меня ничего не получится? :(

Попробую посмотреть в документации.


 
Tatushka ©   (2006-09-13 16:55) [12]


> Тебе это непременно надо в Interbase Interactive SQL? Скачай
> IBExpert - могучая весчь. И бесплатная.

Где это можно скачать?
Вообще мне надо сделать БД, которая бы совмещалась с Interbase 5.5.
С IBExpert это наверно можно будет сделать...


 
Sergey13 ©   (2006-09-13 16:58) [13]

>Где это можно скачать?
Ты не поверишь - www.ibexpert.com
8-)


 
Tatushka ©   (2006-09-13 17:12) [14]


> Ты не поверишь - www.ibexpert.com
> 8-)

Спасибо огромное! :))

И всем большое спасибо, кто откликнулся!
:)


 
Desdechado ©   (2006-09-13 22:03) [15]

Позиция поля - только для эстетики важна.
А в остальных случаях (SELECT * FROM) я бы пальцы выдергивал писателям, которые гребут все, вместо того, чтоб перечислить явно нужное. Потому как изменение структуры таблицы приводит к необходимости переделывать все запросы, которые можно было бы часто оставить как есть.


 
palva ©   (2006-09-13 22:07) [16]

Документация InterBase советует в таких случаях создать новую временную колонку, переместить туда данные из исправляемой колонки, уничтожить эту колонку, переименовать временное поле. Аналогично, для изменения порядка полей можно создать временную таблицу и т. д.


 
Tatushka ©   (2006-09-14 09:29) [17]


> изменение структуры таблицы приводит к необходимости переделывать
> все запросы

На данном этапе создается только структура всей БД, и в частности этой таблицы, поэтому соответственно запросов еще никаких не созданно.

> Позиция поля - только для эстетики важна.

В данном случае, это поле, позицию которого необходимо было изменить, находится на самом последнем месте, и при автоматическом заполнении некоторых полей, в том числе и этого, необходимо перечислять все поля. По крайней мере мне только такой известен способ. Возможно существуют и другие...
Все равно спасибо! :)


> для изменения порядка полей можно создать временную таблицу
> и т. д

Самое противное что эта таблица завязана, с другими таблицами и разными триггерами.
Но если уж другого выбора нет, придется выкручиваться каким-то таким способом...
Спасибо за совет!


 
Sergey13 ©   (2006-09-14 09:42) [18]

> и при автоматическом заполнении некоторых полей, в том
> числе и этого, необходимо перечислять все поля.

И как это связано с позицией поля? Ты по номерам к ним обращаешься что-ли?


 
Tatushka ©   (2006-09-14 09:59) [19]


> И как это связано с позицией поля? Ты по номерам к ним обращаешься
> что-ли?

Просто перечисляю по порядку с помощью функции AppendRecord.

Table1.AppendRecord([IDRecord,Table2IDRecord.AsInteger,
            Table3IDRecord.AsInteger, ... {поля которые не нужно заполнять} , {последнее поле, которое должно заполняться автоматически});

Поэтому, получается, что для заполнения надо перечислять все поля в таблице...


 
Sergey13 ©   (2006-09-14 10:33) [20]

> [19] Tatushka ©   (14.09.06 09:59)

С таким подходом, да еще на таблице с приличным количеством полей, поимеешь ты когда нибудь гемороя.


 
Tatushka ©   (2006-09-14 10:41) [21]


> С таким подходом, да еще на таблице с приличным количеством
> полей, поимеешь ты когда нибудь гемороя.

Уже имею... :(



Страницы: 1 вся ветка

Текущий архив: 2006.10.01;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.031 c
4-1148801624
dss555
2006-05-28 11:33
2006.10.01
Как получть текст из SysListView32 другого приложения?


9-1136053715
haZard0us
2005-12-31 21:28
2006.10.01
GLScene=ландшафт+тайлы


2-1158069901
Gugli
2006-09-12 18:05
2006.10.01
FilterOptions


2-1157703974
P2P
2006-09-08 12:26
2006.10.01
Помогите перевести конструкцию с C++


3-1154110257
Игорь__
2006-07-28 22:10
2006.10.01
Paradox: проблема с фильтрацией.