Вопрос: я хочу проверить оператор if в PostgreSQL:
IF (SELECT COUNT(*) FROM pg_language WHERE lanname = 'plpgsql') > 0 THEN
PRINT 'Good'
ELSE
PRINT 'Bad'
END IF;
Теперь выдается ошибка при IF.
Насколько я прочитал, это потому, что мне нужно использовать plpgsql, чтобы иметь возможность использовать if, print и переменные.
Пока что мне, вероятно, также придется использовать SELECT вместо print.
Как я могу переключить язык перед выполнением этого оператора в plpgsql?
Я хочу сначала проверить это, ДО того, как поместить его в хранимую процедуру.
Для тестирования кода с переменными и т. Д.
Редактировать:
Решено:
DO LANGUAGE plpgsql $$
BEGIN
IF (SELECT COUNT(*) FROM pg_language WHERE lanname = 'plpgsql') > 0 THEN
RAISE NOTICE 'GOOD';
ELSE
RAISE NOTICE 'BAD';
END IF;
END;
$$;