powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как отловить ошибку в функции?
5 сообщений из 5, страница 1 из 1
как отловить ошибку в функции?
    #32516026
InventOR^ULG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имеем:

CREATE OR REPLACE FUNCTION takebalance( VARCHAR ) RETURNS VARCHAR AS '
DECLARE
called ALIAS $1;
return_string VARCHAR;
balance balance.balance%TYPE;
BEGIN
return_string := \'h323-credit-amount=\';
SELECT INTO balance bal.balance FROM clientsh323 as cli, balance as bal
WHERE ((cli.clientid = bal.clientid) AND (cli.callingstationid = \'$1\'));
RETURN return_string || balance::VARCHAR;
END;
' LANGUAGE 'plpgsql';

выполняем запрос: SELECT takebalance('2600515');

в результате получаем:
Ошибка SQL:
ERROR: parser: parse error at or near "$1" at character 44

В операторе:
SELECT voiptaketime('2600515') as atribute;


в системе в логах ругается на: ERROR: syntax error at or near "$1"
WARNING: plpgsql: ERROR during compile of takebalance near line 3


сам запрос без INTO balance в SQL редакторе возвращает numeric значение... ткните пальцем где я неправ, а то уже замучался без примеров извращаться......

-----
Two beer, or not two beer? (c)ShakesBeer..
...
Рейтинг: 0 / 0
как отловить ошибку в функции?
    #32516197
Драга
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
called ALIAS FOR $1;
...
...
Рейтинг: 0 / 0
как отловить ошибку в функции?
    #32516209
InventOR^ULG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все равно ошибка не исчезла:
Ошибка SQL:
ERROR: parser: parse error at or near "$1" at character 44


В операторе:
SELECT takebalance('2600515');
...
Рейтинг: 0 / 0
как отловить ошибку в функции?
    #32516226
InventOR^ULG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в логе ошибка сменилась :)
ERROR: parser: parse error at or near "$1" at character 44
WARNING: Error occurred while executing PL/pgSQL function takebalance
WARNING: line 7 at select into variables
...
Рейтинг: 0 / 0
как отловить ошибку в функции?
    #32518716
OAN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAN
Гость
поменяй
WHERE ((cli.clientid = bal.clientid) AND (cli.callingstationid = \'$1\'));
на
WHERE ((cli.clientid = bal.clientid) AND (cli.callingstationid = \'called\'));
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как отловить ошибку в функции?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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