Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как отловить ошибку в функции? / 5 сообщений из 5, страница 1 из 1
13.05.2004, 12:06
    #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
13.05.2004, 13:16
    #32516197
Драга
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отловить ошибку в функции?
...
called ALIAS FOR $1;
...
...
Рейтинг: 0 / 0
13.05.2004, 13:21
    #32516209
InventOR^ULG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отловить ошибку в функции?
Все равно ошибка не исчезла:
Ошибка SQL:
ERROR: parser: parse error at or near "$1" at character 44


В операторе:
SELECT takebalance('2600515');
...
Рейтинг: 0 / 0
13.05.2004, 13:29
    #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
14.05.2004, 17:30
    #32518716
OAN
OAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отловить ошибку в функции?
поменяй
WHERE ((cli.clientid = bal.clientid) AND (cli.callingstationid = \'$1\'));
на
WHERE ((cli.clientid = bal.clientid) AND (cli.callingstationid = \'called\'));
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как отловить ошибку в функции? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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