Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.011 c
15-1158135522
QuickFinder
2006-09-13 12:18
2006.10.01
Audio -> MP3


2-1158157304
X_Tra
2006-09-13 18:21
2006.10.01
Double/int на c++ и соответствующие типы в D7


3-1153815094
Sasha K
2006-07-25 12:11
2006.10.01
Как сжать базу FireBird(не бэкап)???


2-1158054701
zdm
2006-09-12 13:51
2006.10.01
C++


6-1147237414
hcsr
2006-05-10 09:03
2006.10.01
Как программно узнать соеденён ли комп с инетом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский