eliasum
@eliasum
cd ..

Как экранировать имя таблицы?

Здравствуйте! Как правильно экранировать имя таблицы?
Сейчас при запросе:
CREATE OR REPLACE FUNCTION foo(_path VARCHAR)
RETURNS FLOAT AS $$
DECLARE 

	_Table TEXT;
	_Value FLOAT;
	
BEGIN

        IF (SELECT EXISTS(SELECT 1 from _glossary WHERE configuration = _path)) THEN
			_Table := (SELECT tablename FROM _glossary WHERE configuration = _path);
        ELSE
            _Table := NULL;
        END IF;  
	
		EXECUTE FORMAT('SELECT val FROM %I ORDER BY key DESC LIMIT 1', _Table) INTO _Value;
		RETURN _Value;
		
END;

$$ LANGUAGE plpgsql;


Вот такая ошибка: "ERROR: relation "NumberActual" does not exist"
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ответы на вопрос 2
Dimpik
@Dimpik
Обычно знак экранирования это \
Ответ написан
Комментировать
TonyWrong
@TonyWrong
поместите название таблицы в кавычки внутри кавычек
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы