powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Аргументы функций
4 сообщений из 4, страница 1 из 1
Аргументы функций
    #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
Аргументы функций
    #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
Аргументы функций
    #34757330
Фотография Zashibis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Увы, но в этом случае меняется сама функция, у нее появляются возвращаемые значения, хотя изначально она была RETURNS VOID, и при вызове таких функций через Select поменяется набор возвращаемых значений, что будет не очень удобно
...
Рейтинг: 0 / 0
Аргументы функций
    #34757414
Фотография Zashibis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заработало в следующем варианте:

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


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


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