Удаление таблиц и процей лабуды???
От: Dave_from_Ampersand Россия  
Дата: 01.09.03 10:13
Оценка:
Народ есть вопрос об концептуальном устройстве программы...

При создании коннекта к базе данных программа создает большое количество различных объектов в базе данных, т.е. таблиц, отношений между таблицами, триггеров, хранимых процедур, вся эта живность создается простым путем, есть файл в котором храняться скрипты, и прога их честно подряд один за другим выполняет, таким образом создается структура базы данных любой сложности...

теперь вопрос, как это все за собой удалять, не писать же файл удаления этих таблиц, во первых это черевато ошибками не соответствия этих файлов, а во вторых это ж удвоения объъема информации...

вопрос для знающих людей, как это делается в нормальных программах, поделитесь опытом плииз..

всем заранее спасибо...
Re: Удаление таблиц и процей лабуды???
От: mrhru Россия  
Дата: 01.09.03 10:23
Оценка: +1
Здравствуйте, Dave_from_Ampersand, Вы писали:

D__>При создании коннекта к базе данных программа создает большое количество различных объектов в базе данных, т.е. таблиц, отношений между таблицами, триггеров, хранимых процедур, вся эта живность создается простым путем, есть файл в котором храняться скрипты, и прога их честно подряд один за другим выполняет, таким образом создается структура базы данных любой сложности...


D__>теперь вопрос, как это все за собой удалять, не писать же файл удаления этих таблиц, во первых это черевато ошибками не соответствия этих файлов, а во вторых это ж удвоения объъема информации...


D__>вопрос для знающих людей, как это делается в нормальных программах, поделитесь опытом плииз..


В нормальных программах изменение метаданных БД не практикуется.
Re: Удаление таблиц и процей лабуды???
От: yogi Россия  
Дата: 01.09.03 11:21
Оценка: +1
Здравствуйте, Dave_from_Ampersand, Вы писали:

Создавать вместо таблиц временные таблицы, которые по завершении коннекта сами и покиляются.
Путь к сердцу женщины лежать не должен.
Re[2]: Удаление таблиц и процей лабуды???
От: Dave_from_Ampersand Россия  
Дата: 01.09.03 14:05
Оценка:
Здравствуйте, mrhru, Вы писали:

M>В нормальных программах изменение метаданных БД не практикуется.


интересно, а как же новые версии???
а если пользователь захотел после того как установил продукт его анинсталить??? что за собой мусор убирать не надо???
Re[2]: Удаление таблиц и процей лабуды???
От: Dave_from_Ampersand Россия  
Дата: 01.09.03 14:06
Оценка:
Здравствуйте, yogi, Вы писали:

Y>Создавать вместо таблиц временные таблицы, которые по завершении коннекта сами и покиляются.


нет, такая функциональность не требуется
Re[3]: Удаление таблиц и процей лабуды???
От: gep  
Дата: 01.09.03 15:21
Оценка:
Здравствуйте, Dave_from_Ampersand, Вы писали:

D__>Здравствуйте, yogi, Вы писали:


Y>>Создавать вместо таблиц временные таблицы, которые по завершении коннекта сами и покиляются.


D__>нет, такая функциональность не требуется


Да и как удалить UDF? Он чегойто не удаляеться вообще
Re[3]: Удаление таблиц и процей лабуды???
От: _d_m_  
Дата: 01.09.03 22:28
Оценка: +1
Здравствуйте, Dave_from_Ampersand, Вы писали:

D__>Здравствуйте, mrhru, Вы писали:


M>>В нормальных программах изменение метаданных БД не практикуется.


D__>интересно, а как же новые версии???

D__>а если пользователь захотел после того как установил продукт его анинсталить??? что за собой мусор убирать не надо???


drop database ...
Re[4]: Удаление таблиц и процей лабуды???
От: Callisto  
Дата: 02.09.03 03:11
Оценка:
gep>Да и как удалить UDF? Он чегойто не удаляеться вообще

Дык эта UDF где-то пользуется.
Сначала надо удалять объекты, которые пользуют другие объекты.
Re: Удаление таблиц и процей лабуды???
От: Stepkh  
Дата: 02.09.03 05:54
Оценка: 4 (1)
Здравствуйте, Dave_from_Ampersand, Вы писали:

D__>Народ есть вопрос об концептуальном устройстве программы...


D__>При создании коннекта к базе данных программа создает большое количество различных объектов в базе данных, т.е. таблиц, отношений между таблицами, триггеров, хранимых процедур, вся эта живность создается простым путем, есть файл в котором храняться скрипты, и прога их честно подряд один за другим выполняет, таким образом создается структура базы данных любой сложности...


D__>теперь вопрос, как это все за собой удалять, не писать же файл удаления этих таблиц, во первых это черевато ошибками не соответствия этих файлов, а во вторых это ж удвоения объъема информации...


D__>вопрос для знающих людей, как это делается в нормальных программах, поделитесь опытом плииз..


D__>всем заранее спасибо...


Немного бредовое желание Для разных серверов это будет по разному.
Например в МS SQl есть таблица sysobjects

select * from sysobjects where cdate >'твоя_дата'

даст тебе список всех объектов, которые ты установил. Единственное что надо будет сделать развернуть по полю parent_obj, чтобы удалять в правильном порядке.
Для Оракл тоже самое. Если не ошибаюсь —

select * from user_objects

Удачи!
Re[4]: Удаление таблиц и процей лабуды???
От: Dave_from_Ampersand Россия  
Дата: 02.09.03 11:15
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>
___>drop database ...
___>


это master в MSQL
Re[5]: Удаление таблиц и процей лабуды???
От: gep  
Дата: 02.09.03 15:31
Оценка:
Здравствуйте, Callisto, Вы писали:


gep>>Да и как удалить UDF? Он чегойто не удаляеться вообще


C>Дык эта UDF где-то пользуется.

C>Сначала надо удалять объекты, которые пользуют другие объекты.

т.е. мне надо сначала удить ту хранимую процедуру в которой используеться ЮДФ и только потом саму ЮДФ?
Re[4]: Удаление таблиц и процей лабуды???
От: star0ff  
Дата: 02.06.04 04:53
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, Dave_from_Ampersand, Вы писали:


D__>>Здравствуйте, mrhru, Вы писали:


M>>>В нормальных программах изменение метаданных БД не практикуется.


D__>>интересно, а как же новые версии???

D__>>а если пользователь захотел после того как установил продукт его анинсталить??? что за собой мусор убирать не надо???


___>
___>drop database ...
___>

drop user ... cascade
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.