Я хотел бы запустить SELECT
из заданной таблицы, которая не должна завершиться ошибкой, если таблица не существует. Скажем для простоты, что таблица содержит только один столбец и одну строку, и я за этим скаляром. Если таблица не существует, я хочу вернуться 0
.
Я знаю, что мог бы сделать что-то вроде:
query("select count(1) from information_schema.tables where table_name = 'versions'")
if result > 0
return query("select version from versions limit 1")
else
return 0
Или я мог бы сделать эквивалент, используя хранимую процедуру / plpg sql function.
Но есть ли способ сделать то же самое в одном ad-ho c запросе?
(я делаю два запроса. Я не У меня есть веская причина изменить это. Мне просто любопытно, возможно ли это сделать.)