Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить существует ли таблица в базе FireBird. [D6, Win2k]


senya ©   (2003-12-22 12:55:00) 

Всем здарасьте!
Подскажите как определить существует ли таблица в базе FireBird ?
А то нужно создавать временную таблицу, а вот если такая есть, то ругается :-)


MV   (2003-12-22 16:47:00) [1]

Бывало, что после FoxPro etc так и тянуло на всякие глупости...
Расскажи о задаче - думаю, выкрутимся.


kaif   (2003-12-22 16:41:00) [2]

А зачем тебе нужна эта таблица? Задача-то в чем?


JibSkeart   (2003-12-22 16:37:00) [3]

это я знаю .
Вот поэтому меня и пугает ИБ :)))


paul_k   (2003-12-22 16:35:00) [4]

а ещё в MsSql и в Sybase временные таблички создаются под каждую сессию свои... Но это же не Interbase....


MV   (2003-12-22 16:33:00) [5]

А у нас нет :(


JibSkeart   (2003-12-22 16:32:00) [6]

незнаю как у вас

но в MSSQL временные таблички автоматически удаляются
если вызываещь их из процедур итд.


DKS   (2003-12-22 16:30:00) [7]

А может не стоит ее каждый раз удалять после использования, а потом заново создавать?
Сделай один раз ее,а перед использованием просто очищай ее
запросом
delete from tmp_table


MV   (2003-12-22 13:48:00) [8]

Будь осторожен!
IB не предназначен для активной модификации метаданных!
Временные таблицы в твоем варианте - это не совсем правильный подход. (А если другой юзер создаст такую же таблицу одновременно с твоей?)
Кроме того, имеется встроенное ограничение на число допустимых изменений структуры одной таблицы - не более 255. Потом надо Backup/Restore.
Вот так.


senya   (2003-12-22 13:12:00) [9]

сенкс, получилося


Sandman25   (2003-12-22 13:07:00) [10]

Если FireBird поддерживает перехват и обработку ошибок, то можно гасить данное исключение и продолжать выполнение.


kaif   (2003-12-22 12:59:00) [11]

Нужно поискать ее имя в системной таблице. Кажется, в RDB$RELATIONS. Посмотри Language Reference. Или сделай запрос
SELECT * FROM RDB$RELATIONS


Наверх

Титульная страница Поиск, карта сайта Написать письмо