![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить существует ли таблица в базе 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