Мы используем http://aws.amazon.com/redshift/, и я создаю / удаляю временные таблицы в отчетах. Иногда мы сталкиваемся со случаями, когда кто-то создал временную таблицу и не смог ее удалить.
В других базах данных, например PostgreSQL, на котором основан Redshift, я мог бы просто:
DROP TEMP TABLE IF EXISTS tblfoo;
Но это синтаксическая ошибка Redshift. Я могу сам проверить наличие временных таблиц, используя http://docs.aws.amazon.com/redshift/latest/dg/r_STV_TBL_PERM.html, но это работает только в том случае, если я являюсь суперпользователем и не работаю как суперпользователь. Я также мог пойти и проглотить исключения, но с моей системой отчетности я бы предпочел не идти туда.
Итак, как я могу, как обычный пользователь и не генерируя ошибок базы данных, условно удалить временную таблицу, если она существует?