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

Вниз

Можна ли одним махом обрезать полтаблицы?   Найти похожие ветки 

 
Gost   (2005-02-17 12:35) [0]

Есть таблица Парадокс, где 100 тыс записей. Не спрашивайте зачем, но надо удалить 50 тыс. записей. Но быстро, не проганяя через цикл. Что-то типа указать номер первой и последней удаляемой записи - и удалить их.


 
Sergey13 ©   (2005-02-17 12:38) [1]

SQL рулит
Вроде того, типа
Delete from table where id>50000 and id<100000


 
Max Zyuzin ©   (2005-02-17 12:39) [2]

>Gost   (17.02.05 12:35)
SQL запросом?


 
Gost   (2005-02-17 12:45) [3]

если можна, то не используя SQL (я с ним не работаю). Но если Вам не трудно, напишите пример. Буду очень благодарен.


 
Плохиш ©   (2005-02-17 13:03) [4]


>Gost   (17.02.05 12:45) [3]
>если можна, то не используя SQL

Тогда, только медленно и проганяя через цикл.

А с учётом ограничений в [0] и [3], задача не имеет решения.


 
msguns ©   (2005-02-17 14:19) [5]

>Sergey13 ©   (17.02.05 12:38) [1]
>SQL рулит
>Вроде того, типа
>Delete from table where id>50000 and id<100000

Ага, этот запрос "нарулит"

И, кстати, Серег, ты из Космоса узнал, что в этой таблице есть автоинкремент ?


 
DSKalugin ©   (2005-02-17 14:29) [6]

программ Западло;
вар и: интежер;
бегин
 фор и:=1 то 50000 до Таблэ.Дэлэтэ;
энд.


 
DSKalugin ©   (2005-02-17 14:33) [7]

если использовать номера записи то так

Table.Filter:="(id>0) and (id<50000)";
Table.Filtered:=True;
Table.First;
while not Table.EOF do Table.Delete;
Table.Filtered:=False;


 
Sergey13 ©   (2005-02-17 14:41) [8]

2 [5] msguns ©   (17.02.05 14:19)
>Ага, этот запрос "нарулит"
Какие проблемы? Для подобного вопроса нормальный запрос в ответ ИМХО. 8-)

>И, кстати, Серег, ты из Космоса узнал, что в этой таблице есть автоинкремент ?
Дык у меня с космосом прямая связь. 8-)
Я ж написал "Вроде того, типа"


 
msguns ©   (2005-02-17 14:50) [9]

> не используя SQL (я с ним не работаю). Но если Вам не трудно, напишите пример. Буду очень благодарен.

var
 QDel: integer;
with Table do
 begin
  Open;
  FetchAll;
  QDel := (RecordCount div 2);
  First;
  while QDel>0 then
    begin
     Delete;
     Dec(QDel);
    end;
  Close;
  Free;  // На фиг такая порезанная табла ;))
 end;


 
ЮЮ ©   (2005-02-18 04:05) [10]

>Free;  // На фиг такая порезанная табла ;))

Ты лишь убъешь объект TTable, а на диске этот уродец останется.
Тогда уж,  

EmptyTable; //коль пошла такая пьянка - режь последний огурец :)


 
msguns ©   (2005-02-18 10:36) [11]

>ЮЮ ©   (18.02.05 04:05) [10]

Имелось в виду, нафига такая таблица проге ? Типа мавр свое дело сделал, а там хоть закапывайте Дездемону, а хоть кремируйте,- ему лично она больше не нужна ;)



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

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
4-1107837128
Grief
2005-02-08 07:32
2005.03.20
Popup Menu


9-1103806612
Макс
2004-12-23 15:56
2005.03.20
Editable mesh


1-1110092602
Leeechhhh
2005-03-06 10:03
2005.03.20
почему ошибка


1-1110103716
MU
2005-03-06 13:08
2005.03.20
Вынесение инвариантного кода за пределы цикла


4-1107302590
Green_Templar
2005-02-02 03:03
2005.03.20
OpenPictureDialog