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

Вниз

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

 
DROWSY ©   (2006-10-16 21:26) [0]

SQL?

Есть таблица Test.DBF

----------------
I COD I  NAME  I
------I--------I
I 2     I N_21   I
I 5     I N_11   I
I 4     I N_51   I
I 7     I N_1     I
I 15    I N_61   I
I 1     I  N_14  I

I----------------I

Как по-умному скопировать несколько записей в конец таблицы с увеличением кода, т.е.,
к примеру скопировать 2и3-ю записи, так, чтобы получилось:

----------------
I COD I  NAME  I
------I--------I
I 2     I N_21   I
I 5     I N_11   I  <-
I 4     I N_51   I  <-
I 7     I N_1     I
I 15    I N_61   I
I 1     I  N_14  I

I 16     I N_11   I  <------
I 17     I N_51   I  <------

I----------------I

Наверное, надо создать SQL - запрос, который выделит эти записи, вычислит максимальный код.
И результирующие записи добавить к исходной таблице, увеличивая значение поля COD.
Если это так, то, плиз,напишите как сформировать такой запрос?
Если можно сделать как-то грамотнее, то как??


 
Ketmar ©   (2006-10-16 21:33) [1]

что за манера -- пинать DBF через SQL? вместо того, чтобы взять нормальный сервер БД? ну, сделай "select max(cod) from mytable" и потом добавляй с увеличением.


 
DROWSY ©   (2006-10-16 21:56) [2]

Похоже, что здесь Вы, уважаемый Ketmar, указываете на что-то принципиально неправильное в моей работе с базами DBF.
Жаль, что я не понимаю, что значит

> пинать DBF через SQL

И что значит

> взять нормальный сервер БД

Если не лень, можно чуть подробнее?


 
Ketmar ©   (2006-10-16 22:16) [3]

я пытаюсь намекнуть на то, что если уж используется SQL, то стоит уйти от BDE и формата DBF. и использовать нечто вроде Interbase/FireBird/MSSQL/Oracle/...


 
DROWSY ©   (2006-10-16 22:27) [4]

Дело в том, что я клепаю программу, которая работает с кучей (около30) файлов DBF,
которые юзались в незапамятные времена в программах под  Clipper.
Считаете, что мне стоит поступить так: написать программу перевода всех файлов DBF  в другой формат (какой?) и работать с
> Interbase/FireBird/MSSQL/Oracle/...

(какой сервер посоветуете?)
Или как бы Вы поступили?


 
Ketmar ©   (2006-10-16 22:31) [5]

я бы собрал всё в нормальную базу. тот же FireBird (потому что бесплатно и можно). т.е сделал бы конвертер. автоматом получаем ещё и "мультьпользовательность". %-)

если база не очень большая -- я бы использовал SQLite, как маленькую, простую и надёжную альтернативу.

а в подобных базах есть поле типа "автоинкремент", которое задачу реализует автоматически.

как-то вот так примерно.


 
DROWSY ©   (2006-10-16 23:08) [6]

Я уже довольно много написал через BDE
:((
Но ещё много предстоит.
Ваше экспертное мнение:
- стоит, пока не поздно :)) , заняться уходом от BDE?
- В нормальной базе проще работать чем с BDE?
Интересно:
- конвертер сложно смастерить, или есть стандартные средства?
- сильно заморочно будет "перелопатить" уже сделанное под BDE?
- если у Вас есть "под рукой" готовые ссылки, где можно познакомиться с основами FireBird и SQLite, укажите, плиз...


 
Zacho ©   (2006-10-16 23:22) [7]

DROWSY ©   (16.10.06 23:08) [6]
- стоит, пока не поздно :)) , заняться уходом от BDE?


Стоит, поскольку BDE уже практически мертво. Стоит ли в этом конкретном случае - не знаю, т.к. затраты по времени будут приличные (если конечно хочешь всё сделать "как надо" а не тяп-ляп побыстрее, что бы "хоть как-то" работало.

> - В нормальной базе проще работать чем с BDE?

Ну, BDE все-таки не база, а универсальная библиотека для работы с различными СУБД, и вполне нормальная, только устаревшая. Но это я так, буквоедствую :)
А насчёт "проще-сложнее" - в общем случае определить нельзя, везде своя специфика.

> - конвертер сложно смастерить, или есть стандартные
> средства?

Есть стандартные, например, входящий в Дельфи DataPump

>  сильно заморочно будет "перелопатить" уже сделанное
> под BDE?

Если хочешь получить действительно хороший результат, то скорее всего переделывать придётся всё, и приложения и структуру БД.

> если у Вас есть "под рукой" готовые ссылки, где можно
> познакомиться с основами FireBird

http://www.ibase.ru


 
DROWSY ©   (2006-10-16 23:28) [8]

Спасибо Ketmar и Zacho.!
Жаль, что год назад не мог с вами посоветоваться.. :((


 
Ketmar ©   (2006-10-16 23:41) [9]

суммируя: переходи, пока не поздно. потратишь времени, конечно, но потом будешь вспоминать своё решение добрыми словами. лучше сейчас, нежели через некоторое время переписывать весь проект.


 
DROWSY ©   (2006-10-16 23:57) [10]

Да, почитаю FireBird для начала
Я,если честно, очень слабо представляю вообще что такое "нормальный сервер БД". Год назад надо было сделать прожку с использованием Dbf файлов. Связался с BDE. Потом прога разрасталась....
Оказыватся, плохо начал... :))
С ужасом думаю, что придётся всё перелопачивать...


 
Zacho ©   (2006-10-17 00:01) [11]

DROWSY ©   (16.10.06 23:57) [10]

Если собираешься работать с FB или любым другим сервером РСУБД, то для начала советую прочитать К.Дж.Дейт "Введение с системы баз данных"


 
DROWSY ©   (2006-10-17 00:07) [12]

Да, конечно, надо осваивать серьёзную СУБД!


 
Zacho ©   (2006-10-17 00:12) [13]

Zacho ©   (17.10.06 0:01) [11]

Хм.. Очепятка.. Конечно, "Введение в системы баз данных"


 
Ketmar ©   (2006-10-17 00:27) [14]

>[10] DROWSY(c) 16-Oct-2006, 23:57
>С ужасом думаю, что придётся всё перелопачивать...
да ничего там особо страшного нет. %-)


 
DROWSY ©   (2006-10-17 00:37) [15]

Боюсь работодатель не поймёт моих новаций... :)
Придётся тащить старую версию и перестраивать проект параллельно... :((



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

Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.044 c
15-1160039529
Курдль
2006-10-05 13:12
2006.10.29
Схема микрофильтра ADSL


2-1160563288
Megabyte
2006-10-11 14:41
2006.10.29
FIB+, транзакции


2-1160468808
Андрей Иванов
2006-10-10 12:26
2006.10.29
Отчеты в Делфи7


15-1160293068
DelphiLamer
2006-10-08 11:37
2006.10.29
Пара вопросов


2-1160645861
Megabyte
2006-10-12 13:37
2006.10.29
Код VBA в Дельфи для Excel





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