Главная страница
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.06 c
3-1152986150
Silver...
2006-07-15 21:55
2006.10.01
DataSet.Locate не дружит с Filter, а надо - как быть


2-1158171272
greengeneral
2006-09-13 22:14
2006.10.01
Как вытащить <B>x</B> из Label7.Caption:= IntToStr(x);


15-1157884524
Проггер из библиотеки
2006-09-10 14:35
2006.10.01
Формат mp3 (не ID3 тегов!!!)


15-1157884568
ArtemESC
2006-09-10 14:36
2006.10.01
C++2Pascal


15-1157808081
ferr
2006-09-09 17:21
2006.10.01
Java