Главная страница
    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
3-83980
prihod
2003-05-29 10:37
2003.06.26
!!! Как обеспечить объективное отображение данных в TDBGrid !!!


4-84824
Василий Петрович
2003-04-19 19:36
2003.06.26
Вопрос про едит


3-83858
DBDev
2003-06-01 16:57
2003.06.26
Как бы сделать управляемый ORDR BY в SP? Помогите ПЛЗ!


1-84227
komiak
2003-06-11 13:58
2003.06.26
Канва на форме.


8-84454
Smok_er
2003-03-11 19:10
2003.06.26
Конвертирование BMP -> TIFF





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