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

Вниз

изменение структуры таблицы   Найти похожие ветки 

 
hm   (2002-03-07 15:33) [0]

Подскажите, плиз, как в программе изменить длину поля? Поле Numeric - длина - 8, а надо сделать 4. Заранее спасибо


 
Val   (2002-03-07 15:45) [1]

Например с помощью TQuery.SQL:
alter table mytable
drop field myoldfield, add field mynewfield number(4)


 
hm   (2002-03-07 15:53) [2]

Ругается!! Может, потому что табличка через ADO ? Ставлю ADOQuery - пишу, пускаю - пишет - синтакс еррор!


 
Val   (2002-03-07 15:56) [3]

посмотрите синтаксис точнее в Local SQL Help


 
sniknik   (2002-03-07 16:07) [4]

Некоторые таблицы не позволяют иметь типы с изменяемой длинной. Проверь запрос на строковом поле оно везде изменяемо. А DBF раньше Numeric был изменяемым а в новых типизирован. (все одно что пытатся в Delphi Word-у длинну 1 присвоить а это уже Byte) Извиняюсь за путанные обьяснения.
(Если у тебя есть досовский нортон открой в нем таблицу и по F2 посмотри структуру если у поля стоит Numeric 20.5 то хрен измениш)


 
hm   (2002-03-07 16:17) [5]

2 sniknik
да нет. Numeric 8. :(

2 Val
Все как там написано делаю а он мне тоже самое :(
вобще больше ничего делать не буду с этими базами :((


 
hm   (2002-03-07 16:22) [6]

2 sniknik
Я в фоксе меняю (8 на 4) и усе в порядке!!!
Здесь-то как сделать?


 
sniknik   (2002-03-07 16:29) [7]

Значит таблица старого формата должно менятся. Ищи ошибку в Alter table. Щас у себя посмотрю если найду пример выложу.


 
sniknik   (2002-03-07 16:43) [8]

Боюсь это тебе не поможет я это взял из программы работающей с Pervasive SQL (на dbf подключенном через ado jet работать отказалась)
ALTER TABLE CASHSAIL MODIFY CARDSIZE CHAR(25)


 
hm   (2002-03-07 16:49) [9]

Не помогло. А жаль. Но все равно спасибо.


 
sniknik   (2002-03-08 01:50) [10]

Проверил пример данный Val © (второй по счету) он вполне рабочий так что не жалей а чаще пробуй.
ALTER TABLE "Currency.dbf" DROP CurType, ADD CurType NUMERIC (10,4)
Правда он не модифицирует столбец а удаляет вместе с данными и создает новый. Надо сохранятся. Пробовал в локал SQL. Поля с именами внутренних переменных/процедур (Date, Time, Money ....) дают ошибку их надо брать в кавычки "".
ALTER TABLE "Currency.dbf"
DROP "Currency.dbf"."Money", ADD "Currency.dbf"."Money" NUMERIC (10,4)


 
Johnmen   (2002-03-09 03:02) [11]

Сначала :
ALTER TABLE MyTable DROP MyField
А уж потом только :
ALTER TABLE MyTable ADD MyField NUMERIC(4)

За один ALTER TABLE может не проходить ввиду совпадения имен полей !


 
sniknik   (2002-03-09 09:15) [12]

В helpe совпадения имен оговаривается и это possible. А самое главное я пробовал это работает! Единственное могут быть различия в SQL для разных драйверов. Надо смотреть help к конкретному драйверу к какому подключаешся.

It is possible to delete and add a column of the same name in the same ALTER TABLE statement, however any data in the column is lost in the process. This allows quick redefinition of columns while still in the database design stages.

ALTER TABLE "Names.db" DROP LastName, ADD LastName CHAR(30)


 
Anatoly Podgoretsky   (2002-03-09 09:32) [13]

Без потери делается за 6 шагов
1. add tmp
2. tmp = old
3. drop old
4. add old
5. old = tmp
6. drop tmp

3/4 можно совместить, если позволяет синтаксис


 
deleon   (2002-03-11 10:59) [14]

http://www.dbwork.kuban.ru
скачай компонент TDbCheck
он для Paradox & dBase изменяет структуру без потери данных при помощи BDE Api функции DbiDoRestructure



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

Форум: "Базы";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
1-9510
vvlad
2002-03-21 19:01
2002.04.04
Форма не реагирует на нажатие кнопок и мышь в фокусе, и реагирует без фокуса


7-9652
Droid
2002-01-06 09:34
2002.04.04
Помогите чем можите!


1-9574
Malder
2002-03-24 21:07
2002.04.04
Выскажите, пожалуйста, свои мысли по поводу моего задания =)


1-9537
Vacheslav
2002-03-23 19:23
2002.04.04
Как в чужую программу добавить свой пункт меню?


14-9612
vopros
2002-02-21 15:55
2002.04.04
Кто посоветует как провести день рождения в Питере, либо если от места не зависит ваще как провести?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский