Проверка на существование временной таблицы

Ermitazh

Новичок
Проверка на существование временной таблицы

Всем привет. Вопрос по mysql.

Вопрос: как проверить существует ли временная таблица?

-~{}~ 28.08.07 10:37:

Нужно сделать выборку только в том случае если таблица существует. Если просто делать выборку то всплывает ошибка, что такой таблицы нет. Ошибка mysql никак здесь не уместна. Для закрытия ошибки собачку "@" нельзя использовать так как пишу не на php.

-~{}~ 28.08.07 10:40:

есть ещё выход создать non-temporary table с таким же именем как и у временной таблицы и оставить её пустой, тогда ошибки не вылезет. Единственный ли выход из сложившейся ситуации?
 

Wicked

Новичок
а можно поподробней, откуда взялась необходимость использовать временную таблицу?
 

Ermitazh

Новичок
kruglov
где мне это использовать? вопрос был про временные таблицы. Show tables показывает только non-temporary tables.

-~{}~ 28.08.07 11:02:

Wicked
Для сохранения информации со старыми данными и с последующей перезаписью новых данных в пределах одной сессии.

-~{}~ 28.08.07 11:12:

create temporary table if not exists aaa (id int not null, tekst varchar(10));

DELIMITER $$
DROP PROCEDURE IF EXISTS `sptest`$$
CREATE PROCEDURE `sptest`()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a INT;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET done = 1;
SELECT NULL INTO a FROM aaa LIMIT 0;
IF (done) THEN
SELECT 'NO EXISTS';
ELSE
SELECT 'EXISTS';
END IF;
END$$
DELIMITER ;

call sptest();

можно впринципе и так, но это как то коряво...
есть ещё мысли ?

-~{}~ 28.08.07 11:38:

Всем спасибо, это было походу 2 единственных выхода.
 
Сверху