Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.101 c
4-1150282634
SamProf
2006-06-14 14:57
2006.10.29
Как создать виртуальнкю файловую систему


11-1137157074
-=Mike=-
2006-01-13 15:57
2006.10.29
Вопрос по отображению окна


2-1160629003
Unknone
2006-10-12 08:56
2006.10.29
Компонент OpenDialog


11-1136814929
Muxaspb
2006-01-09 16:55
2006.10.29
Листер плагин для Total Commander на KOL/MCK


15-1159952437
IMHO
2006-10-04 13:00
2006.10.29
Заинтересовать ребенка английским языком