Это мой код:PostgreSQL - Ошибка синтаксиса при назначении переменной?
amount INTEGER;
amount := select count(*) from moneyTable;
Я получаю следующее сообщение об ошибке:
ERROR: syntax error at or near "select"
Может кто-то помочь мне.
Это мой код:PostgreSQL - Ошибка синтаксиса при назначении переменной?
amount INTEGER;
amount := select count(*) from moneyTable;
Я получаю следующее сообщение об ошибке:
ERROR: syntax error at or near "select"
Может кто-то помочь мне.
От fine manual:
An assignment of a value to a PL/pgSQL variable is written as:
variable { := | = } expression;
но select ...
не является выражением. Если вы хотите, чтобы присвоить значения из отобранного переменных, вы хотите использовать INTO:
select count(*) into amount from moneyTable;
-- ^^^^^^^^^^^
Теперь im получает ошибку ERROR: синтаксическая ошибка в точке или рядом с "*". CONTEXT: недопустимое имя типа "count (*) на сумму from moneyTable" – Brandon
Должен работать нормально (http://sqlfiddle.com/#!15/6558d/1 (извините за форматирование функции, sqlfiddle имеет проблемы с многострочным долларом Кажется, что строки с нулевой точкой)). Вы делаете это внутри функции, правильно? –
У меня это в части декларации моей функции – Brandon
Либо @mu is to short ответ или это
amount := (select count(*) from moneyTable);
Что вы хотите достичь? – trkoch
@trkoch, это хороший вопрос, так как я не уверен, что мой ответ правильный –
@MrsEd im пытается сохранить количество кортежей в переменной. Затем используйте эту переменную позже для другой обработки. Но в настоящее время я получаю эту синтаксическую ошибку, и я понятия не имею, почему это происходит. – Brandon