Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Аргументы функций / 4 сообщений из 4, страница 1 из 1
27.08.2007, 19:23
    #34756218
Zashibis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргументы функций
СОбственно, наткнулся на неприятную вещь:

CREATE FUNCTION _1sp_RA99_WriteDocAct(tmp INTEGER )RETURNS VOID AS $$
DECLARE
BEGIN
tmp := - tmp;
END;
$$ LANGUAGE plpgsql;

Выскакивает ошибка, что tmp - это константа и менять ее нельзя.
Это просто пример, функция в которой возникла проблема гораздо больше, и выражение
tmp := - tmp
смысл там имеет.
Это типа все, вешалка? Менять аргументы функций совсем нельзя?

Тут стоит пояснить: пишу стандартные правила для преобразования из T-SQL в pgSQL, которые преобразовывают запросы налету для 1С, и вариант "заведи новую локальную переменную вручную" не очень подходит.
...
Рейтинг: 0 / 0
27.08.2007, 19:47
    #34756254
untitled
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргументы функций
Можно попробывать как то так

Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE FUNCTION _1sp_RA99_WriteDocAct(tmp inout INTEGER )RETURNS int AS $$
DECLARE
BEGIN
tmp := - tmp;
END;
$$ LANGUAGE plpgsql;
...
Рейтинг: 0 / 0
28.08.2007, 11:42
    #34757330
Zashibis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргументы функций
Увы, но в этом случае меняется сама функция, у нее появляются возвращаемые значения, хотя изначально она была RETURNS VOID, и при вызове таких функций через Select поменяется набор возвращаемых значений, что будет не очень удобно
...
Рейтинг: 0 / 0
28.08.2007, 11:58
    #34757414
Zashibis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргументы функций
Заработало в следующем варианте:

CREATE FUNCTION _1sp_RA99_WriteDocAct(_tmp INTEGER )RETURNS VOID AS $$
DECLARE
_tmp INTEGER := $1;
BEGIN
_tmp := - _tmp;
END;
$$ LANGUAGE plpgsql;


Всем спасибо.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Аргументы функций / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]