Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Запрос на проверку существования таблицы


Автор: kulikoff 24.10.2006, 09:21
Собственно, сабж. СУБД ORACLE 8, надо написать запрос, который будет возвращать инфу существует ли таблица...

Автор: Akella 24.10.2006, 09:29
можно попробовать сделать выборку из таблицы в модуле tray except

Код

Function TableExsist...
try
  query.sql.add('select id from table where id = -999');
  result := true;
except
  result := false;
end;
...

пользователь не увидит ошибку

Я не в курсе, как в ORACLE добраться до системных таблиц, если таковые есть. Я тебе дал один из вариантов. Уверен, чтьо это не единственный.

Добавлено @ 09:39 
Код

//так
select count(*) from user_tables where table_name = 'TABLENAME';
//или так
select count(*) from all_tables where table_name = 'TABLENAME'; 

Автор: Vas 24.10.2006, 09:43
Код

select table_name from user_tables where table_name='ИМЯ ТАБЛИЦЫ' //проверка существует и доступна ли пользователю (находится в его схеме)

select table_name from all_tables where table_name='ИМЯ ТАБЛИЦЫ' //проверка существует и доступна ли пользователю (находится вне его схемы)

select table_name from dba_tables where table_name='ИМЯ ТАБЛИЦЫ' //проверка существует и доступна ли пользователю (это только для DBA)

Автор: smartov 24.10.2006, 09:52
Код

try    
  query.sql.add('mysql drop table tableName');    
  ShowMessage('Таблица существовала');
except    
....
end;

 smile  smile 

А если серъёзно то можно еще
Код

select * from user_objects where object_type = 'TABLE';

Автор: kulikoff 24.10.2006, 11:26
Спасибо!

Автор: Rodman 24.10.2006, 13:18
smartov, конечно проверка боем (удалением) прикольно...

Но может и мой http://forum.vingrad.ru/topic-112734.html подойдет...

Автор: DDX 30.10.2006, 17:12
можно ещё загнать список таблиц БД в StringList функцией GetTablesNames адоконнекшена и в нем уже поискать нужную..

-- added -- ага, RodMan то же самое показал

Автор: Rodman 31.10.2006, 11:26
DDX,  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)