| От | Angus Lees |
|---|---|
| Тема | (plpgsql) DECLARE foo NUMERIC(5,2): syntax error at "(" |
| Дата | |
| Msg-id | 20020221033441.GA1092@roach.switchonline.com.au обсуждение |
| Ответы |
Re: (plpgsql) DECLARE foo NUMERIC(5,2): syntax error at "("
|
| Список | pgsql-bugs |
PL/pgSQL docs say "PL/pgSQL variables can have any SQL datatype".
but when i try:
CREATE FUNCTION foo() RETURNS NUMERIC(5,2) AS '
DECLARE
bar NUMERIC(5,2);
BEGIN
bar := 123.45;
return bar;
END;
' LANGUAGE 'plpgsql';
then "select foo()" gives:
NOTICE: plpgsql: ERROR during compile of foo near line 2
ERROR: parse error at or near "("
declaring bar as "FLOAT8" (for example) works as expected.
from a quick look at plpgsql/src/gram.y, the decl_dtypename rule
only allows type modifiers (decl_attypmod) on CHAR, VARCHAR or BPCHAR.
scan.l doesn't even recognise NUMERIC or DECIMAL as keywords.
(debian postgresql 7.1.3-6 package on Linux/Intel)
--
- Gus
В списке pgsql-bugs по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера