:: Не фоксом единым
Застряла на EXEC в PostgreSQL
tata
Автор

Сообщений: 3469
Откуда: Йошкар-Ола
Дата регистрации: 23.10.2005
Всем привет!
Вот вроде всю процедуру переписала с MS SQL на PG, но застряла на последней команде.

Exec usp_123_common @task=@task, @date1=@date1, @component=@component, @branch_code=@branch_code, @source=@source,
@entity_name=@entity_name, @check_name=@check_name, @format=@format, @field_name=@field_name, @operation_type=@operation_type,
@capital_value=@capital_value, @is_every_day=@is_every_day, @is_year=0, @is_101=@is_101, @comp=@comp

Убрала глобальные переменные, не помогло.

PERFORM usp_123_common task=task, date1=date1, component=component, branch_code=branch_code, source=source,
entity_name=entity_name, check_name=check_name, format=format, field_name=field_name, operation_type=operation_type,
capital_value=capital_value, is_every_day=is_every_day, is_year=0, is_101=is_101, comp=comp

Как правильно должна выглядеть эта строка в PG, чтобы она заработала?



Исправлено 2 раз(а). Последнее : tata, 08.10.22 08:11
Ratings: 0 negative/0 positive
Re: Застряла на EXEC в PostgreSQL
ВладимирС

Сообщений: 1693
Дата регистрации: 03.11.2005
Я не большой знаток в PostgreSQL
Просто хочу поинтересоваться:
usp_123_common - это что за объект ?
Может надо:
1. Перед Exec использовать команду PREPARE ?
2. Круглые скобки и точку с запятой в конце...

PREPARE usp_123_common (...<объявление типов переменных через запятую>...) as оператор;
EXECUTE usp_123_common (...<передача значений переменных через запятую>...);

Это посмотрел в доке PostgreSQL... Может я и не прав... Извиняюсь тогда.



Исправлено 1 раз(а). Последнее : ВладимирС, 09.10.22 06:57
Ratings: 0 negative/0 positive
Re: Застряла на EXEC в PostgreSQL
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
Инет говорит что вроде нужно использовать CALL, а не EXEC


------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: Застряла на EXEC в PostgreSQL
tata
Автор

Сообщений: 3469
Откуда: Йошкар-Ола
Дата регистрации: 23.10.2005
Вот так работает.
begin
execute usp_123_common (task, date1, component, branch_code, source,
entity_name, check_name, format, field_name, operation_type,
capital_value, is_every_day, @is_year, is_101, comp);
RETURN capital_value;
end;
$capital_value$ language plpgsql;;



Исправлено 1 раз(а). Последнее : tata, 10.10.22 17:32
Ratings: 0 negative/0 positive
Re: Застряла на EXEC в PostgreSQL
tata
Автор

Сообщений: 3469
Откуда: Йошкар-Ола
Дата регистрации: 23.10.2005
ВладимирС
Просто хочу поинтересоваться:
usp_123_common - это что за объект ?
Функция вызывает другую функцию.
Ratings: 0 negative/0 positive
Re: Застряла на EXEC в PostgreSQL
Божья_коровка

Сообщений: 25731
Дата регистрации: 23.08.2001
AleksM
Инет говорит что вроде нужно использовать CALL, а не EXEC
Вообще то инет правильно говорит, для вызова процедуры в PG я тоже CALL использую, всё всегда работало.


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: Застряла на EXEC в PostgreSQL
tata
Автор

Сообщений: 3469
Откуда: Йошкар-Ола
Дата регистрации: 23.10.2005
Божья_коровка
AleksM
Инет говорит что вроде нужно использовать CALL, а не EXEC
Вообще то инет правильно говорит, для вызова процедуры в PG я тоже CALL использую, всё всегда работало.
Странно тогда, почему все работает.
Ratings: 0 negative/0 positive
Re: Застряла на EXEC в PostgreSQL
leonid

Сообщений: 3204
Откуда: Рига
Дата регистрации: 03.02.2006
[attachment 36412 pg.png]
Ratings: 0 negative/0 positive
Re: Застряла на EXEC в PostgreSQL
tata
Автор

Сообщений: 3469
Откуда: Йошкар-Ола
Дата регистрации: 23.10.2005
Спасибо, исправила. С CALL тоже работает.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 8 (Гостей: 8)

© 2000-2024 Fox Club 
Яндекс.Метрика