![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Interbase Interactive SQL [D5, XP]
Tatushka © (2006-09-13 15:52:00)Подскажите пожалуйста, как в ISQL изменить тип поля, и его позицию? Был задан не верный тип поля...
Версия Interbase 5.5.
Tatushka (2006-09-14 10:41:00) [1]
> С таким подходом, да еще на таблице с приличным количеством
> полей, поимеешь ты когда нибудь гемороя.
Уже имею... :(
Sergey13 (2006-09-14 10:33:00) [2]> [19] Tatushka © (14.09.06 09:59)
С таким подходом, да еще на таблице с приличным количеством полей, поимеешь ты когда нибудь гемороя.
Tatushka (2006-09-14 09:59:00) [3]
> И как это связано с позицией поля? Ты по номерам к ним обращаешься
> что-ли?
Просто перечисляю по порядку с помощью функции AppendRecord.
Table1.AppendRecord([IDRecord,Table2IDRecord.AsInteger,
Table3IDRecord.AsInteger, ... {поля которые не нужно заполнять} , {последнее поле, которое должно заполняться автоматически});
Поэтому, получается, что для заполнения надо перечислять все поля в таблице...
Sergey13 (2006-09-14 09:42:00) [4]> и при автоматическом заполнении некоторых полей, в том
> числе и этого, необходимо перечислять все поля.
И как это связано с позицией поля? Ты по номерам к ним обращаешься что-ли?
Tatushka (2006-09-14 09:29:00) [5]
> изменение структуры таблицы приводит к необходимости переделывать
> все запросы
На данном этапе создается только структура всей БД, и в частности этой таблицы, поэтому соответственно запросов еще никаких не созданно.
> Позиция поля - только для эстетики важна.
В данном случае, это поле, позицию которого необходимо было изменить, находится на самом последнем месте, и при автоматическом заполнении некоторых полей, в том числе и этого, необходимо перечислять все поля. По крайней мере мне только такой известен способ. Возможно существуют и другие...
Все равно спасибо! :)
> для изменения порядка полей можно создать временную таблицу
> и т. д
Самое противное что эта таблица завязана, с другими таблицами и разными триггерами.
Но если уж другого выбора нет, придется выкручиваться каким-то таким способом...
Спасибо за совет!
palva (2006-09-13 22:07:00) [6]Документация InterBase советует в таких случаях создать новую временную колонку, переместить туда данные из исправляемой колонки, уничтожить эту колонку, переименовать временное поле. Аналогично, для изменения порядка полей можно создать временную таблицу и т. д.
Desdechado (2006-09-13 22:03:00) [7]Позиция поля - только для эстетики важна.
А в остальных случаях (SELECT*FROM) я бы пальцы выдергивал писателям, которые гребут все, вместо того, чтоб перечислить явно нужное. Потому как изменение структуры таблицы приводит к необходимости переделывать все запросы, которые можно было бы часто оставить как есть.
Tatushka (2006-09-13 17:12:00) [8]
> Ты не поверишь - www.ibexpert.com
> 8-)
Спасибо огромное! :))
И всем большое спасибо, кто откликнулся!
:)
Sergey13 (2006-09-13 16:58:00) [9]>Где это можно скачать?
Ты не поверишь - www.ibexpert.com
8-)
Tatushka (2006-09-13 16:55:00) [10]
> Тебе это непременно надо в Interbase Interactive SQL? Скачай
> IBExpert - могучая весчь. И бесплатная.
Где это можно скачать?
Вообще мне надо сделать БД, которая бы совмещалась с Interbase 5.5.
С IBExpert это наверно можно будет сделать...
Tatushka (2006-09-13 16:51:00) [11]
> Ну и сделай за 2 раза.
Он ругается на этот: ALTER TABLE TABLE1 ALTERFIELD4 TYPE INTEGER
> Это работает в FireBird 1.5 SQL Dialect 3
Значит у меня ничего не получится? :(
Попробую посмотреть в документации.
Sergey13 (2006-09-13 16:45:00) [12]> [7] Tatushka © (13.09.06 16:34)
Тебе это непременно надо в Interbase Interactive SQL? Скачай IBExpert - могучая весчь. И бесплатная.
palva (2006-09-13 16:40:00) [13]
> Tatushka © (13.09.06 16:34) [7]
> Не получается :(
> Ругается на второй Alter, типа не узнает и все тут.
Это работает в FireBird 1.5 SQL Dialect 3
Sergey13 (2006-09-13 16:36:00) [14]> [7] Tatushka © (13.09.06 16:34)
Ну и сделай за 2 раза.
Tatushka (2006-09-13 16:34:00) [15]Не получается :(
Ругается на второй Alter, типа не узнает и все тут.
Sergey13 (2006-09-13 16:31:00) [16]> .е.? Где это можно посмотреть?
Так в документации разумеется. Ее можно взять на ibase.ru
> Неа. Дальше в реализации проги очень не удобно будет :(
> т.к. кол-во полей в таблице приличное...
Неудобства не опишешь? Интересно.
> К сожалению не могу, а с удовольствием бы... :(
Кто/что мешает? Ты не говори никому - никто и не узнает. 8-)
palva (2006-09-13 16:29:00) [17]Номера позиций начинаются с единицы
palva (2006-09-13 16:28:00) [18]ALTER TABLE TABLE1 ALTER FIELD4 TYPE INTEGER, ALTER FIELD4 POSITION 1;
Tatushka (2006-09-13 16:21:00) [19]
> см. ALTER clause
Т.е.? Где это можно посмотреть?
> А не по барабану ли она ?
Неа. Дальше в реализации проги очень не удобно будет :( т.к. кол-во полей в таблице приличное...
> Выкинуть нафиг. По мнению многих уважаемых - самая нестабильная
> версия. К тому же платная.
К сожалению не могу, а с удовольствием бы... :(
Sergey13 (2006-09-13 16:01:00) [20]> Версия Interbase 5.5.
Выкинуть нафиг. По мнению многих уважаемых - самая нестабильная версия. К тому же платная.