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

Вниз

как удалить таблицу c помощью SQL так, что бы...   Найти похожие ветки 

 
abc   (2003-06-03 14:52) [0]

как удалить таблицу с помощью SQL так, что бы автоинкрементное поле начиналось снова с 1 (Paradox 7.0)


 
Соловьев   (2003-06-03 15:01) [1]

удалить все записи? или таблицу? ты определись.


 
Sandman25   (2003-06-03 15:12) [2]

Удалите таблицу и сделайте ее заново.
Если в ней есть данные, то вопрос не имеет смысла.


 
abc   (2003-06-03 16:01) [3]

заного делать не вариант, десктопом создавалась, 90 полей,
подумай сам
даже если удались все записи, то автоинкремент начнётся не с 1, а с текщего значения, но всё таки надо, что бы файл остался со своей структурой полей


 
stone   (2003-06-03 16:18) [4]

СУБД ????


> заного делать не вариант, десктопом создавалась, 90 полей


Предпложительно Paradox

Попробуй EmptyTable


 
sniknik   (2003-06-03 16:19) [5]

> заного делать не вариант, десктопом создавалась, 90 полей,
сделать новую
select * into ... from ... where 1=2
> остался со своей структурой полей

а старую удалить. (извинятся если это Local SQL не буду, сам не указывает)


 
Anatoly Podgoretsky   (2003-06-03 16:50) [6]

Это противоречит понятию AutoIncrement, у тебя уже получается не Auto и не Increment.
Только созданием новой таблицы.


 
kaif   (2003-06-04 00:20) [7]

Извлеки всю таблицу в TTable.FieldDefs (программно). Затем используй TTable.CreateTable. Если конечно, у тебя нет foreign key на эту таблицу. Индексы тоже можно runtime создать через методы TTable.
Если ты думаешь, что DatabaseDesktop делает что-то более мудрое, то это не так. Вполне можно такое реализовать с помощью одного компонента TTable. И быстрее будет, чем данные делетировать с помощью SQL. Все равно SQL этот по одной записи все удалять будет.


 
Sandman25   (2003-06-04 10:26) [8]

kaif © (04.06.03 00:20)

Зачем нужно удалять записи SQL, если все равно планируется пересоздать таблицу? DROP TABLE работает и для непустой таблицы.


 
Dred2k   (2003-06-04 10:57) [9]

SQL тут и не нужен.
Все сделает TTable.
1. Открываем старую. Затем FieldDefs.Update, IndexDefs.Update;
2. Заполняем свойства новой.
TableName := "...";
TableType := ttParadox;
TableLevel := <по вкусу>;
FieldDefs.Assign(старая.FieldDefs);
IndexDefs.Assign(старая.IndexDefs);
CreateTable;
Будет создана новая таблица, по структуре аналогичная старой (только кроме форейн-кеев, паролей и т.п.), со всеми индексами.
Затем закрываешь старую, делаешь старая.DeleteTable;
Новую закрываешь (хотя CreateTable ее и не открывал...), делаешь ей RenameTable("имя как было у старой").
Вот и все.



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

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

Наверх




Память: 0.46 MB
Время: 0.028 c
1-84284
delphimun
2003-06-13 12:51
2003.06.26
Как мне приделать, к циклу progressbar?


1-84232
Кен
2003-06-10 03:48
2003.06.26
Focus . Как узнать где он в данный момент находится ?


14-84642
sniknik
2003-06-07 14:27
2003.06.26
Отличия D6 и D7


14-84516
Song
2003-06-06 10:45
2003.06.26
Слушайте, а псмотреть ветку с n-го ответа классная вещь!


8-84458
Rus
2003-03-14 10:11
2003.06.26
Работа с MIDI файлами





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