Форум: "Начинающим";
Текущий архив: 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.49 MB
Время: 0.036 c